Twenga / twgit

Twgit is a free and open source assisting tools for managing features, hotfixes and releases on Git repositories. It provides simple, high-level commands to adopt the branching model describes in our documentation. Supported OS: Debian/Ubuntu Linux, Mac OS X 10.8 (Mountain Lion) or lower.
http://twgit.twenga.com/
Other
111 stars 34 forks source link

Bug: Interrupted system call from time to time #83

Closed morith closed 11 years ago

morith commented 11 years ago

13:11 mmy@mmy ~/dev/git/twgit((no branch)) $ twgit feature list git# git fetch --prune origin

(i) Remote delivered features merged into release in progress: No such branch exists.

(i) Remote free features: No such branch exists.

/home/mmy/dev/git/twgit/inc/common.inc.sh: line 68: /tmp/twgit_pipe_15683_19239: Appel système interrompu

geoffroy-aubry commented 11 years ago

Thank you for taking the time to report this bug.

Perhaps the problem is elsewhere:

cd /tmp
git init a
cd a
git commit --allow-empty -m init
cd ..
git init b
cd b
git remote add origin ../a
twgit init 1.2.3
git checkout v1.2.3

Then:

$ twgit feature list 
git# git fetch --prune origin

(i) Remote delivered features merged into release in progress:
No such branch exists.

(i) Remote free features:
No such branch exists.

Can you please provide me with a test case ?

morith commented 11 years ago

14:42 mmy@mmy ~/dev/git/twgit(stable) $ cd /tmp
14:42 mmy@mmy /tmp $ git init a
Initialized empty Git repository in /tmp/a/.git/
14:42 mmy@mmy /tmp $ cd a
14:43 mmy@mmy /tmp/a $ git commit --allow-empty -m init
[master (root-commit) 2429fc8] init
14:43 mmy@mmy /tmp/a(master) $ cd ..
14:43 mmy@mmy /tmp $ git init b
Initialized empty Git repository in /tmp/b/.git/
14:43 mmy@mmy /tmp $ cd b
14:43 mmy@mmy /tmp/b $ git remote add origin ../a
14:43 mmy@mmy /tmp/b $ twgit init 1.2.3
Check need for git init...
Check clean working tree...
Check valid ref name...
Check valid tag name...
Check whether tag '1.2.3' already exists...
Check presence of remote 'origin' repository...
git# git fetch --prune origin
From ../a
 * [new branch]      master     -> origin/master
Check presence of 'stable' branch...
git# git checkout -b stable origin/master
Switched to a new branch 'stable'
Branch stable set up to track remote branch master from origin.
git# git push --set-upstream origin stable
To ../a
 * [new branch]      stable -> stable
Branch stable set up to track remote branch stable from origin.
git# git tag -a v1.2.3 -m "[twgit] First tag."
git# git push --tags origin stable
To ../a
 * [new tag]         v1.2.3 -> v1.2.3
14:43 mmy@mmy /tmp/b(stable) $ git checkout v1.2.3
Note: checking out 'v1.2.3'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
  git checkout -b new_branch_name
HEAD is now at 2429fc8... init


14:43 mmy@mmy /tmp/b((no branch)) $ twgit feature list
git# git fetch --prune origin
(i) Remote delivered features merged into release in progress:
No such branch exists.
(i) Remote free features:
No such branch exists.
14:44 mmy@mmy /tmp/b((no branch)) $ 

geoffroy-aubry commented 11 years ago

Probably a misuse of mkfifo in inc/common.inc::get_dissident_remote_branches()… Another way found.