小编Vin*_*nce的帖子

Maven Release-plugin"标签已存在",适用于不存在的标签

我的设置:-server git上的-repository Atlassian StashAtlassian Bamboo.我使用的是Maven 3.1.1release-plugin 2.3.2.该计划Bamboo看起来像这样:

  1. git-repository退房
  2. 执行一个 clean install
  3. 表演release:preparerelease:performignoreSnapshots=trueresume=false

直到最后一步的一切都运行良好,但Maven声明它无法标记版本,因为标签已经存在.这是日志:

build   26-Nov-2013 10:36:37    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.3.2:prepare (default-cli) on project [PROJECT-NAME]: Unable to tag SCM
build   26-Nov-2013 10:36:37    [ERROR] Provider message:
build   26-Nov-2013 10:36:37    [ERROR] The git-tag command failed.
build   26-Nov-2013 10:36:37    [ERROR] Command output:
build   26-Nov-2013 10:36:37    [ERROR] fatal: tag '[PROJECT-NAME]-6.2.2' already exists …
Run Code Online (Sandbox Code Playgroud)

git bamboo maven bitbucket-server svn2git

8
推荐指数
3
解决办法
1万
查看次数

在vim中有条件地替换

我想用vim搜索和替换来替换所有"with",反之亦然.有没有办法一步到位?我想的是这样的事情:

:s/\("\|'\)/\1=="?':"/
Run Code Online (Sandbox Code Playgroud)

当然,\1=="?':"-part是在vim中运行的东西.

提前致谢!

vi vim

7
推荐指数
1
解决办法
2084
查看次数

来自git log的奇怪行为 - 因为

我有一个包含18个提交的测试存储库. git log | grep Date:返回以下内容:

Date:   Fri Sep 20 08:04:13 2013 +0200
Date:   Fri Sep 20 08:03:28 2013 +0200
Date:   Fri Sep 20 08:02:05 2013 +0200
Date:   Thu Sep 19 09:53:10 2013 +0200
Date:   Wed Sep 18 17:04:41 2013 +0200
Date:   Wed Sep 18 17:03:36 2013 +0200
Date:   Sat Sep 14 14:42:10 2013 +0200
Date:   Wed Sep 11 10:37:25 2013 +0200
Date:   Fri Aug 30 13:59:43 2013 +0200
Date:   Fri Aug 30 13:56:35 2013 +0200
Date:   Fri Aug …
Run Code Online (Sandbox Code Playgroud)

git

7
推荐指数
1
解决办法
2272
查看次数

通过ssh从stash克隆git-repository

我有一个在存储服务器上运行的git-repository.通过http正常工作克隆存储库

git clone http://user@server:7990/a/b/sandbox.git
Run Code Online (Sandbox Code Playgroud)

出于某种奇怪的原因,当我切换http使用ssh,并与它的端口,它给了我

git clone ssh://user@server:7999/a/b/sandbox.git
Cloning into sandbox...
fatal: remote error: Remote URL invalid
A repository could not be determined from the remote URL. Please confirm the
clone URL in Stash and try again. URL suffix: '/scm/ct/sandbox.git'
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

服务器已ssh启用且端口设置为7999.怎么来的,当通过ssh而不是发送请求时它找不到存储库http

git ssh bitbucket-server

4
推荐指数
1
解决办法
1万
查看次数

perl quine的解释

我最近发现了这个quine

$a='$a=%c%s%c;printf($a,39,$a,39,10);%c';printf($a,39,$a,39,10);
Run Code Online (Sandbox Code Playgroud)

而我无法理解它.我在google/SO上找不到这个特定的解释,所以我希望有人可以向我解释这个东西是如何工作的:-)

perl quine

3
推荐指数
1
解决办法
717
查看次数

Bamboo + Stash:请告诉我你是谁

我正在尝试使用Bamboo运行maven-job并使用maven release-plugin发布一个项目.但是,当Bamboo尝试提交某些内容时,会出现以下错误:

19-Nov-2013 13:20:37    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project Projectname: Unable to commit files
19-Nov-2013 13:20:37    [ERROR] Provider message:
19-Nov-2013 13:20:37    [ERROR] The git-commit command failed.
19-Nov-2013 13:20:37    [ERROR] Command output:
19-Nov-2013 13:20:37    [ERROR]
19-Nov-2013 13:20:37    [ERROR] *** Please tell me who you are.
19-Nov-2013 13:20:37    [ERROR]
19-Nov-2013 13:20:37    [ERROR] Run
19-Nov-2013 13:20:37    [ERROR]
19-Nov-2013 13:20:37    [ERROR] git config --global user.email "you@example.com"
19-Nov-2013 13:20:37    [ERROR] git config --global user.name "Your Name"
19-Nov-2013 13:20:37    [ERROR]
19-Nov-2013 13:20:37 …
Run Code Online (Sandbox Code Playgroud)

git bamboo maven maven-release-plugin bitbucket-server

3
推荐指数
1
解决办法
1874
查看次数

git/stash上的publickey-authentication for ssh无法正常工作

我正在尝试使用git/stash,但我对publickey-authentication有点问题.这是发生的事情:

hannibal是存储服务器上的用户.hannibal具有一个存储库的读/写权限和添加到其存储帐户的ssh-publickey.我现在通过创建一个存储库

git init
Run Code Online (Sandbox Code Playgroud)

add&commit测试文件test.然后我想添加stash-repository作为origin

git remote add origin hannibal@stash:7999/path/to/repository.git
Run Code Online (Sandbox Code Playgroud)

这不会产生进一步的产出.现在我试着push

git push origin master
Run Code Online (Sandbox Code Playgroud)

这反过来要求我输入密码(这很奇怪,因为它应该通过publickey进行身份验证).我输入密码,屏幕上显示以下错误消息:

Could not chdir to home directory /home/hannibal: No such file or directory
fatal: '7999/path/to/repository.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

URL肯定是正确的,因为它是藏匿给我的那个.此外,在存储服务器上启用了ssh.我在这里错过了什么?

git ssh public-key bitbucket-server

2
推荐指数
1
解决办法
4756
查看次数

使用变量名定义Perl中的常量

我想从配置文件中创建perl-constants.我正在使用Config :: File来读取如下所示的配置文件:

ABC = DEF
GHI = JKL
Run Code Online (Sandbox Code Playgroud)

使用Config :: File创建一个如下所示的hashref:

$VAR1 = {
    'ABC' => 'DEF',
    'GHI' => 'JKL'
};
Run Code Online (Sandbox Code Playgroud)

我想使用hashref来创建常量,其中常量的名称应该是键,值应该是hashref中的对应值.手动我会做类似的事情

use constant ABC => 'DEF';
use constant GHI => 'JKL';
Run Code Online (Sandbox Code Playgroud)

我尝试过这样做:

foreach my $const (keys %$hashref) {
    use constant $const => $keys->{$const};
}
Run Code Online (Sandbox Code Playgroud)

但正如预期的那样不起作用.有没有办法实现我想要做的事情?

perl constants

1
推荐指数
2
解决办法
531
查看次数

Perl打印更改执行顺序

我的perl脚本遇到了一个非常奇怪的问题.我真的不知道,那里发生了什么,也许你会看到它......

我的脚本用于Net::SSH::Perl通过SSH连接到主机.之后我head -20在config.ini上搜索一些模式(版本号).

在我打印版本号后,cat其他文件大约有700行.

现在发生的是,脚本不是打印版本号,而是打印整个700行文件.除非我print "\n"x10; 直接添加版本打印.

这种行为对我没有任何意义,但我相信你们中的一个会比我更聪明并且知道答案:)

脚本下方:

  1 #!/usr/local/bin/perl -w
  2 use lib './';
  3 use strict;
  4
  5 use GetVersions;
  6 use Net::SSH::Perl;
  7
  8
  9 my $ssh = Net::SSH::Perl->new(
 10         'host',
 11         identity_files => ['~/.ssh/id_rsa']
 12 );
 13
 14 $ssh->login('user');
 15
 16 my $ver_regex = '^psadm\.version\s*=\s*rel_(.+)$';
 17
 18 my ($file, $err, $exit) = $ssh->cmd('head -20 /config.ini');
 19 my $version = $file =~ /$ver_regex/m;
 20 print …
Run Code Online (Sandbox Code Playgroud)

printing ssh perl

0
推荐指数
1
解决办法
131
查看次数