annotate hg-browse @ 9:2711ab9baa52 default tip

use core module only
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Mon, 04 Jan 2021 11:00:54 +0900
parents 38241ae31798
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #!/usr/bin/env perl
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 use strict;
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 use warnings;
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 # hg config経由でhgrcにかかれているpush先を確認する
9
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
6 my $push_path = `hg config paths.default`;
0
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
9
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
8 if ($?){
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
9 print "[eror] failed exec hg config paths.default";
0
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 exit 1;
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 }
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
8
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
13 my $open_cmd = $^O eq 'darwin' ? "open" : "xdg-open"; #linux open cmd is xdg-open
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
14
0
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 # 無かったら特に何もしない
9
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
16 exit 1 unless ($push_path);
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
17
0
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 # yomitanはパスで開けないので別枠
9
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
20 my $url;
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
21
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
22 if ($push_path =~ /(yomitan)|(chatan)/){
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
23 $url = yomitan($push_path);
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
24 } elsif ($push_path =~ /firefly/){
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
25 $url = firefly($push_path);
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
26 } else {
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
27 if ( $push_path =~ m[(https?|ssh)://(\w+@)?(.*)]){
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
28 $url = "http://$3";
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
29 }
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
30 die 'invalid url';
0
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 }
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
9
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
33 `$open_cmd $url`;
0
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 sub yomitan {
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 my $input = shift;
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 my $http_domain = 'https://ie.u-ryukyu.ac.jp/hg/';
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 my $url;
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40
1
85f5eada6707 fix regex for yomitan
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
41 if ($input =~ m[.*//home/hg/y(\d+)(.+)]){
7
6c212f9834b6 fix hg-browse
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
42 $url = $http_domain . "y$1$2";
0
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 }
9
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
44 return $url;
0
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 }
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 sub firefly {
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 my $input = shift;
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 my $http_domain = 'http://www.cr.ie.u-ryukyu.ac.jp/';
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 my $url;
3
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
51 if (($input =~ m[.*?firefly.cr.ie.u-ryukyu.ac.jp/(.*)] )||($input =~ m[.*firefly/(.*)])){
0
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 $url = $http_domain.$1;
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 }
9
2711ab9baa52 use core module only
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
54 return $url;
0
78df974566a7 initial commit
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 }