因此,我在 Atlassian-Stash 中为接收后事件编写了一个 bash 脚本。在此脚本中,提交后,它会创建一个 codecollaborator 代码审查。要创建代码审查,需要提交标题、提交用户和 git SHA 以进行任何更改,并将更改上传到代码审查。为了获取这些信息,我将目录克隆到 --深度 = 1 (即使没有 --深度 = 1)并使用 git log (选项)。
我看到的问题是,如果我手动运行脚本,它就可以正常工作。但是,如果它在提交后运行,则在克隆目录后会出错,表明它不是 git 目录。如果我在脚本退出后 cd 进入该目录,我就可以运行 git log (和其他 git 命令)。
我尝试解决的问题是 1. 权限问题(以 root 身份运行),所以我没有看到任何权限问题。2. 使用 bash -xv 进行故障排除,直到此时一切看起来都很好。3.我还用$?4.我尝试将.git移至git-backup,等待3秒并将其移回来,仍然是同样的问题。5. 我运行 ls -ltra 以确保它具有所有文件和 .git 目录。
现在,我别无选择。以前有人遇到过这种问题吗?
有人知道我哪里可能做错了什么或遗漏了什么吗?
我尝试尽可能具有描述性,如果问题没有意义或需要示例脚本,请告诉我。
添加下面的脚本及其错误输出。
#!/bin/bash -xv
CCollabExe='/usr/local/bin/ccollab'
CCollabUrl='--url http://***:8080'
CCollabUser='--user ******'
CCollabPassword='--password ******'
CCollabConnection="${CCollabExe} ${CCollabUrl} ${CCollabUser} ${CCollabPassword}"
CCollabStuff='/home/stash/repositories/tmp'
CloneDir="${CCollabStuff}/ClonnedDir"
StashUser='******'
StashPass='******'
RepoURLlinkGit="http://${StashUser}:${StashPass}@******:7990/scm/t/test1.git"
unset SSH_ASKPASS
# Test function to check if a varibale is empty
CheckIfVarEmpty …Run Code Online (Sandbox Code Playgroud) 预先感谢您的任何帮助。我有一个 Atlassian Stash 实例,上面有一个存储库。该实例死了,我唯一留下的是几个编号的文件夹,它们似乎是存储库的“.git”文件夹(即里面有钩子、日志、引用、对象、子文件夹)。有什么方法可以从这些文件夹重新创建存储库吗?如果是这样,怎么办?只是为了澄清,我没有文件本身,我只有这些文件夹中的内容。我需要以某种方式从中重新创建版本控制文件。
是否有可能在像Atbian Stash那样拥有像bitbucket或github这样的分支和提交的树视图?
我想要这样的观点:
http://blog.bitbucket.org/wp-content/uploads/2011/07/new-commits-screen-tn.png
http://blog.bitbucket.org/wp-content/uploads/2011/07/old-commits-screen.png
(他们都来自bitbucket并代表相同的提交,但它只是为了显示我的想法)
有两个不同的拉取请求:A和B.当A拉请求已经合并到Stash中的master时,Stash显示拉取请求B已被远程合并 (但它没有!).它以某种方式自动运作.没有钩子.
我试过跑:
git log --merges
Run Code Online (Sandbox Code Playgroud)
但我看不到B的合并提交
你能帮忙吗?
git树如下:
* c8372e0 (HEAD, master) Merge branch 'master' of http://...
|\
| * b091241 (origin/master, origin/HEAD) Merge pull request #193 in ...
| |\
| | * 629fb1f (origin/feature/A Fix
...
| | * e9042fb (origin/feature/B)
| | * d84a03c Merge branch 'master' into feature/B
Run Code Online (Sandbox Code Playgroud) 我制作了一个R包,它托管在我雇主的Atlassian Stash实例上.我一直在告诉其他用户克隆repo然后devtools::install("<path-to-repo>")用来安装软件包.
如何在不克隆存储库的情况下让用户安装软件包?我可以在没有托管代码更容易访问的情况下执行此操作吗?
我正在将git远程从一个存储服务器移动到另一个存储服务器。我可以使用git进行克隆,并使用--mirror和其他git命令查看了许多其他建议,以确保复制了所有分支和提交,这对于最重要的部分确实有效。
缺少的是请求请求历史记录。无论如何,是否要从一个存储服务器中提取此文件并将其导入到另一个存储服务器中?
我不知道如何在multibranch管道上设置stash通知程序插件.配置页面没有"构建后操作"部分.
我想开发 Stash 插件但无法开始。我们的 pom.xml 中有错误。
Project build error: Unknown packaging: atlassian-plugin
Project build error: Unresolveable build extension:
Plugin com.atlassian.maven.plugins:maven-stash-plugin:6.0.0
or one of its dependencies could not be resolved:
Could not find artifact com.sun:tools:jar:1.7.0
at specified path C:\Program Files (x86)\Java\jre1.7.0_75/../lib/tools.jar
Run Code Online (Sandbox Code Playgroud)
我开始知道 maven 无法将 atlasian-plugin 识别为包类型。有没有办法创建我们自己的包装类型?解决此问题的最佳方法是什么?
pom.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.xxxxx</groupId>
<artifactId>fkjghff</artifactId>
<version>856</version>
<organization>
<name>CATE Developer Experience</name>
<url>www.xxxxxx</url>
</organization>
<name>name of the project</name>
<description>description of the project</description>
<packaging>atlassian-plugin</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.atlassian.stash</groupId>
<artifactId>stash-parent</artifactId>
<version>${stash.version}</version>
<type>pom</type> …Run Code Online (Sandbox Code Playgroud) 我在 Bitbucket 服务器上看不到 Webhook 功能。该视图与云端的 Bitbucket 不同。我的主要目标是尝试集成 Slack 以从 Bitbucket 获取所有更新。谁能帮我解决这个问题?
在我的工作场所中,我们使用git在Linux(centos 7风味)下进行版本控制。我们有用户ID,但也有一些我们可以模拟的产品ID。
因为我们很虚弱,所以我们允许提交产品ID并推送存储库,通常是出于实用性考虑,当我们热修复问题时。我们应该在这样做时使用--author,但我们有时会忘记。
使用特定的prod用户时,是否可以强制使用--author?