Re: [msysGit] 4th release candidate of Git for Windows 2.x, was Re: 3rd release candidate of Git for Windows 2.x

2015-06-29 Thread Stefan Näwe
Am 29.06.2015 um 16:37 schrieb Johannes Schindelin:
 Hi Stefan,
 
 On 2015-06-29 11:07, Stefan Näwe wrote:
 Am 29.06.2015 um 10:30 schrieb Johannes Schindelin:
 
 I just uploaded the 4th release candidate for the upcoming Git for
 Windows 2.x release. Please find the download link here:

 https://git-for-windows.github.io/#download

 The most important changes are the update to Git 2.4.5 and a fix for the 
 crash when running Git Bash
 with a legacy `TERM` setting (this should help 3rd party software to 
 upgrade to Git for Windows 2.x).

 Thanks.
 It seems that this link:

https://github.com/git-for-windows/git/releases/latest

 doesn't point to the latest release.

 Might be because the tags have the same date ?
 
 Wooops. Sorry for being so slow (been interviewing today). It should be 
 correct now, can you verify, please?

Yes.

https://github.com/git-for-windows/git/releases/latest
redirects to Fourth release candidate of Git for Windows 2.x now.

Thanks,
  Stefan
-- 

/dev/random says: Documentation is the castor oil of programming.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] 4th release candidate of Git for Windows 2.x, was Re: 3rd release candidate of Git for Windows 2.x

2015-06-29 Thread Stefan Näwe
Am 29.06.2015 um 10:30 schrieb Johannes Schindelin:
 Hi all,
 
 I just uploaded the 4th release candidate for the upcoming Git for
 Windows 2.x release. Please find the download link here:
  
 https://git-for-windows.github.io/#download
 
 The most important changes are the update to Git 2.4.5 and a fix for the 
 crash when running Git Bash
 with a legacy `TERM` setting (this should help 3rd party software to upgrade 
 to Git for Windows 2.x).

Thanks.
It seems that this link:

   https://github.com/git-for-windows/git/releases/latest

doesn't point to the latest release.

Might be because the tags have the same date ?

Thanks anyway!

Stefan
-- 

/dev/random says: Who needs comedians? Journalists are much more laughable!
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Git completion not using ls-remote to auto-complete during push

2015-06-18 Thread Stefan Näwe
Am 17.06.2015 um 18:10 schrieb Robert Dailey:
 I do the following:
 
 $ git push origin :topic
 
 If I stop halfway through typing 'topic' and hit TAB, auto-completion
 does not work if I do not have a local branch by that name (sometimes
 I delete my local branch first, then I push to delete it remotely). I
 thought that git completion code was supposed to use ls-remote to auto
 complete refs used in push operations. Is this supposed to work?
 
 I'm using Git 2.4.3. Tested on both MSYS2 in Windows and Linux Mint.
 Same behavior in both. I am using the latest git completion code from
 the master branch in the git repo.

Same here!

But it works in my self-compiled version of msysgit (yes, the old
'Git for Windows' development environment) which is rebased onto v2.2.2.
Time for 'git bisect' I guess...

Stefan
-- 

/dev/random says: A cat sleeps fat, yet walks thin.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] log: diagnose empty HEAD more clearly

2015-06-04 Thread Stefan Näwe
Am 03.06.2015 um 19:24 schrieb Junio C Hamano:
 Jeff King p...@peff.net writes:
 
 My concern there would be risk of regression. I.e., that we would take
 some case which used to error out and turn it into a silent noop. So I'd
 prefer to keep the behavior the same, and just modify the error code
 path. The end result is pretty similar to the user, because we obviously
 cannot produce any actual output either way.
 
 Okay.
 
 Something like:

 -- 8 --
 Subject: log: diagnose empty HEAD more clearly

 If you init or clone an empty repository, the initial
 message from running git log is not very friendly:

   $ git init
   Initialized empty Git repository in /home/peff/foo/.git/
   $ git log
   fatal: bad default revision 'HEAD'

 Let's detect this situation and write a more friendly
 message:

   $ git log
   fatal: default revision 'HEAD' points to an unborn branch 'master'

 We also detect the case that 'HEAD' points to a broken ref;
 this should be even less common, but is easy to see. Note
 that we do not diagnose all possible cases. We rely on
 resolve_ref, which means we do not get information about
 complex cases. E.g., --default master would use dwim_ref
 to find refs/heads/master, but we notice only that
 master does not exist. Similarly, a complex sha1
 expression like --default HEAD^2 will not resolve as a
 ref.

 But that's OK. We fall back to the existing error message in
 those cases, and they are unlikely to be used anyway.
 Catching an empty or broken HEAD improves the common case,
 and the other cases are not regressed.

 Signed-off-by: Jeff King p...@peff.net
 ---
 I'm not a big fan of the new error message, either, just because the
 term unborn is also likely to be confusing to new users.

 We can also probably get rid of mentioning HEAD completely. It is
 always the default unless the user has overridden it explicitly.
 
 I think that still mentioning HEAD goes directly against the
 reasoning you made in an earlier part of your message:
 
 I think it is one of those cases where the message makes sense when you
 know how git works. But a new user who does not even know what HEAD or
 a ref actually is may find it a bit confusing. Saying we can't run
 git-log, your repository empty! may seem redundantly obvious even to
 such a new user. But saying bad revision 'HEAD' may leave them saying
 eh, what is HEAD and why is it bad?.
 
 and I agree with that reasoning: the user didn't say anything about
 HEAD, so why complain about it?
 
 Which is what led me to say Why are we defaulting to HEAD before
 checking if it even exists?  Isn't that the root cause of this
 confusion?  What happens if we stopped doing it?
 
 And I think the diagnose after finding that pending is empty and we
 were given 'def' approach almost gives us the equivalent, which is
 why I said Okay above.
 
 If we can make it possible to tell if that def was given by the
 user (i.e. --default parameter) or by the machinery (e.g. git log
 and friends), then we can remove almost from the above sentence.
 
 So we
 could go with something like:

   fatal: your default branch 'master' does not contain any commits

 or something. I dunno. Bikeshed colors welcome. Adding:

   advise(try running 'git commit');

 is probably too pedantic. ;)
 
 ;-)
 
 I am wondering if the attached is better, if only because it is of
 less impact.  I have die() there to avoid the behaviour change, but
 if we are going to have another future version where we are willing
 to take incompatiblity for better end-user experience like we did at
 2.0, I suspect turning it to warning() or even removing it might be
 a candidate for such a version.  If you have one commit and ask
 log, you get one commit back. If you have no commit and ask log,
 I think it is OK to say that you should get nothing back without
 fuss.
 
  builtin/log.c | 19 +++
  1 file changed, 15 insertions(+), 4 deletions(-)
 
 diff --git a/builtin/log.c b/builtin/log.c
 index 4c4e6be..3b568a1 100644
 --- a/builtin/log.c
 +++ b/builtin/log.c
 @@ -148,6 +148,9 @@ static void cmd_log_init_finish(int argc, const char 
 **argv, const char *prefix,
   rev-diffopt.output_format |= DIFF_FORMAT_NO_OUTPUT;
   argc = setup_revisions(argc, argv, rev, opt);
  
 + if (!rev-pending.nr  !opt-def)
 + die(you do not have a commit yet on your branch);

I am not a native english speaker but shouldn't this be:

  you do not have a commit on your branch yet

??

 [...]

Stefan
-- 

/dev/random says: I bet you I could stop gambling.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


git gc gives error: Could not read...

2015-06-01 Thread Stefan Näwe
Hi there.

One of my repos started giving an error on 'git gc' recently:

 $ git gc
 error: Could not read 7713c3b1e9ea2dd9126244697389e4000bb39d85
 Counting objects: 3052, done.
 Delta compression using up to 4 threads.
 Compressing objects: 100% (531/531), done.
 Writing objects: 100% (3052/3052), done.
 Total 3052 (delta 2504), reused 3052 (delta 2504)
 error: Could not read 7713c3b1e9ea2dd9126244697389e4000bb39d85

(Yes, the error comes twice).

I tried:

 $ git cat-file -t 7713c3b1e9ea2dd9126244
 fatal: Not a valid object name 7713c3b1e9ea2dd9126244


Otherwise, everything works fine.

I used that repo initially on Win7 with an older msysgit installation but
also tried the latest git-for-windows installer, and version 2.4.2 on linux.
All give the same error (no matter if I clone or copy the repo).

Unfortunately I cannot make the repo publically available.

Any chance to get rid of that error ?

Thanks,
  Stefan
-- 

/dev/random says: When it comes to humility, I'm the very BEST there is!
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git gc gives error: Could not read...

2015-06-01 Thread Stefan Näwe
Am 01.06.2015 um 10:52 schrieb Jeff King:
 On Mon, Jun 01, 2015 at 10:40:53AM +0200, Stefan Näwe wrote:
 
 Turns out to be a tree:

 tree 7713c3b1e9ea2dd9126244697389e4000bb39d85
 parent d7acfc22fbc0fba467d82f41c90aab7d61f8d751
 author Stefan Naewe stefan.na...@atlas-elektronik.com 1429536806 +0200
 committer Stefan Naewe stefan.na...@atlas-elektronik.com 1429536806 +0200
 
 Yeah, I bungled the grep earlier. That message can come from a missing
 tag, tree, or commit object. But I think the root cause is the same.

Maybe this one:

   d3038d (prune: keep objects reachable from recent objects)

??
That's what 'git bisect' told me.

 Not exactly. My msysgit is merge-rebase'd (or rebase-merge'd...) onto 
 v2.2.0...
 I'll try older versions (pre v2.2.0) on linux.
 
 OK, that makes more sense then.
 
 I also cloned from local filesystem (widnows drive) to a samba share.
 
 And that, too.
 
 I've managed to create a small test case that replicates the problem:
 
 diff --git a/t/t6501-freshen-objects.sh b/t/t6501-freshen-objects.sh
 index 157f3f9..015b0da 100755
 --- a/t/t6501-freshen-objects.sh
 +++ b/t/t6501-freshen-objects.sh
 @@ -129,4 +129,19 @@ for repack in '' true; do
   '
  done
  
 +test_expect_failure 'do not complain about existing broken links' '
 + cat broken-commit -\EOF 
 + tree 0001
 + parent 0002
 + author whatever whate...@example.com 1234 -
 + committer whatever whate...@example.com 1234 -
 +
 + some message
 + EOF
 + commit=$(git hash-object -t commit -w broken-commit) 
 + git gc 2stderr 
 + verbose git cat-file -e $commit 
 + test_must_be_empty stderr
 +'
 +
  test_done
 
 which produces:
 
   'stderr' is not empty, it contains:
   error: Could not read 0002
   error: Could not read 0001
   error: Could not read 0002
   error: Could not read 0001
 
 Unfortunately the fix is a little bit invasive. I'll send something out
 in a few minutes.

It would be really helpful if you sent the patch as an attachment.
I know that's not the normal wokflow but our mail server garbles every
message so that I can't (or don't know how to...) use 'git am' to test
the patch, which I'm willing to do!

Thanks,
  Stefan
-- 

/dev/random says: The cost of feathers has risen... Now even DOWN is up!
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git gc gives error: Could not read...

2015-06-01 Thread Stefan Näwe
Am 01.06.2015 um 11:58 schrieb Jeff King:
 On Mon, Jun 01, 2015 at 11:14:27AM +0200, Stefan Näwe wrote:
 
 Maybe this one:

d3038d (prune: keep objects reachable from recent objects)
 
 Yes, exactly.
 
 It would be really helpful if you sent the patch as an attachment.
 I know that's not the normal wokflow but our mail server garbles every
 message so that I can't (or don't know how to...) use 'git am' to test
 the patch, which I'm willing to do!
 
 It ended up as a patch series. However, you can fetch it from:
 
   git://github.com/peff/git.git jk/silence-unreachable-broken-links
 
 which is perhaps even easier.

Not really in my situation...(but that's another story)

I managed to create patch files by simply copy-and-pasting the message
text (and the From:, Date:, and Subject: fields from 'View message source' in 
Thunderbird...)
which I could then 'git am' ;-)

The patches applied (and compiled) cleanly on v2.4.2 and 'git gc'
stopped giving me the error message.

So (FWIW):

Tested-by: Stefan Naewe stefan.na...@gmail.com

Anything else I could test ?

Thanks,
  Stefan
-- 

/dev/random says: Windows N'T: as in Wouldn't, Couldn't, and Didn't.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git gc gives error: Could not read...

2015-06-01 Thread Stefan Näwe
Am 01.06.2015 um 10:14 schrieb Jeff King:
 On Mon, Jun 01, 2015 at 09:37:17AM +0200, Stefan Näwe wrote:
 
 One of my repos started giving an error on 'git gc' recently:

  $ git gc
  error: Could not read 7713c3b1e9ea2dd9126244697389e4000bb39d85
  Counting objects: 3052, done.
  Delta compression using up to 4 threads.
  Compressing objects: 100% (531/531), done.
  Writing objects: 100% (3052/3052), done.
  Total 3052 (delta 2504), reused 3052 (delta 2504)
  error: Could not read 7713c3b1e9ea2dd9126244697389e4000bb39d85
 
 The only error string that matches that is the one in parse_commit(),
 when we fail to read the object. It happens twice here because
 `git gc` runs several subcommands; you can see which ones are generating
 the error if you run with GIT_TRACE=1.
 
 I am surprised that it doesn't cause the commands to abort, though. If
 we are traversing the object graph to repack, for example, we would want
 to abort if we are missing a reachable object (i.e., the repository is
 corrupt).
 
 I tried:

  $ git cat-file -t 7713c3b1e9ea2dd9126244
  fatal: Not a valid object name 7713c3b1e9ea2dd9126244
 
 Not surprising, if we don't have the object. What is curious is why git
 wants to look it up in the first place. I.e., who is referencing it?
 
 Either:
 
   1. It is an object that we are OK to be missing (e.g., the
  UNINTERESTING side of a traversal), and the error should be
  suppressed.
 
   2. Your repository really is corrupted, and this is a case where we
  need to be paying attention to the return value of parse_commit but
  are not.
 
 I'd love to see:
 
   - the output of GIT_TRACE=1 git gc (to see which subcommand is
 causing the error)
 
   - the output of git fsck (which should hopefully confirm whether or
 not there is a real problem)

See attached file.

   - any mentions of the sha1 in the refs or reflogs. Something like:
 
   sha1=7713c3b1e9ea2dd9126244697389e4000bb39d85
   cd .git
   grep $sha1 $(find packed-refs refs logs -type f)

That gives nothing.

   - If that doesn't turn up any hits, then presumably it's an object
 referencing the sha1. We can dig into the objects (all of them, not
 just reachable ones), like:
 
   {
 # loose objects
 (cd .git/objects  find ?? -type f | tr -d /)
 # packed objects
 for i in .git/objects/pack/*.idx; do
   git show-index $i
 done | cut -d' ' -f2
   } |
   # omit blobs; they are expensive to access and cannot have
   # reachability pointers
   git cat-file --batch-check='%(objecttype) %(objectname)' |
   grep -v ^blob |
   cut -d' ' -f2 |
   # now get all of the contents, and look for our object; this is
   # going to be slow, since it's one process per object; but we
   # can't use --batch because we need to pretty-print the trees
   xargs -n1 git cat-file -p |
   less +/$sha1

Turns out to be a tree:

tree 7713c3b1e9ea2dd9126244697389e4000bb39d85
parent d7acfc22fbc0fba467d82f41c90aab7d61f8d751
author Stefan Naewe stefan.na...@atlas-elektronik.com 1429536806 +0200
committer Stefan Naewe stefan.na...@atlas-elektronik.com 1429536806 +0200


 I would have guessed this was maybe caused by trying to traverse
 unreachable recent objects for reachability. It fits case 1 (it is OK
 for us to be missing these objects, but we might accidentally complain),
 and it would probably happen twice during a gc (once for the repack, and
 once for `git prune`).
 
 But that code should not be present in older versions of msysgit, as it
 came in v2.2.0 (and I assume older msysgit is v1.9.5). 

Not exactly. My msysgit is merge-rebase'd (or rebase-merge'd...) onto v2.2.0...
I'll try older versions (pre v2.2.0) on linux.

 And if that is
 the problem, it would follow a copy of the repo, but not a clone (though
 I guess if your clone was on the local filesystem, we blindly hardlink
 the objects, so it might follow there).

I also cloned from local filesystem (widnows drive) to a samba share.

Thanks,
  Stefan
-- 

/dev/random says: Useless Invention: How-to cassettes for the deaf.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
$ GIT_TRACE=1 git gc
10:21:27.228845 git.c:348   trace: built-in: git 'gc'
10:21:27.228845 run-command.c:347   trace: run_command: 'pack-refs' '--all' 
'--prune'
10:21:27.25 git.c:348   trace: built-in: git 'pack-refs' 
'--all' '--prune'
10:21:27.260045 run-command.c:347   trace: run_command: 'reflog' 'expire' 
'--all'
10:21:27.275646 git.c:348   trace: built-in: git 'reflog' 'expire' 
'--all'
10:21:27.338047 run-command.c:347   trace: run_command: 'repack' '-d' '-l' 
'-A' '--unpack-unreachable=2.weeks.ago'
10:21:27.353647 git.c:348   trace: built-in: git

Re: [Announce] submitGit for patch submission (was Diffing submodule does not yield complete logs)

2015-05-22 Thread Stefan Näwe
Am 22.05.2015 um 10:33 schrieb Roberto Tyley:
 [...]
 Hello, I'm stepping up to do that work :) Or at least, I'm implementing a
 one-way GitHub PR - Mailing list tool, called submitGit:
 
 https://submitgit.herokuapp.com/

That looks really promising!
I wonder if that wouldn't make a good addition to github's repository ui
in general ?

Thanks,
  Stefan
-- 

/dev/random says: Diplomacy: The patriotic art of lying for one's country.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Change default branch name (server side) while cloning a repository

2015-03-27 Thread Stefan Näwe
Am 27.03.2015 um 13:27 schrieb Garbageyard:
 We use Gitolite for access control and i have admin access on Git server. I
 wanted to make sure that whenever a new repository is created and is then
 cloned on any machine, the default branch should point to mainline. To do
 this, when I run the repository creation script, i change the content of
 file HEAD of a given repository to point to mainline i.e., default entry of
 “ref: refs/heads/master” in file HEAD is changed to “ref:
 refs/heads/mainline”.
 
 For example, if work is the repository name, then on Git server,
 
 [gitolite@gitserver  repositories]$ cd work.git/
 
 [gitolite@gitserver  work.git]$ cat HEAD
 ref: refs/heads/mainline
 
 If i now clone the repository on my local machine, then the default branch
 should be pointing to mainline and not master. However, the issue is that it
 still points to master. Am I /wrong/ in assuming that changing the entry in
 file HEAD for a given repository on Git server will change the default
 branch while cloning? If I’m wrong, can anyone please tell me how can I
 enforce this change on the /server/ side correctly?

Works for me with  gitolite3 v3.6.2-24-g8e36230 on git 2.3.4.

Could it be that the repo was emtpy when you tried to clone it ?

Stefan
-- 

/dev/random says: Half of the people in the world are below average.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] git: make was_alias and done_help non-static

2015-03-03 Thread Stefan Näwe
Am 02.03.2015 um 13:02 schrieb Alexander Kuleshov:
 'was_alias' variable does not need to store it's value on each
 iteration in the loop, anyway this variable changes it's value with run_argv.

s/it's/its/


 'done_help' variable does not need to be static variable too if we'll move it
 out the loop.
 
 So these variables do not need to be static.
 
 Signed-off-by: Alexander Kuleshov kuleshovm...@gmail.com
 Helped-by: Eric Sunshine sunsh...@sunshineco.com
 ---
  git.c | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/git.c b/git.c
 index 1780233..96723b8 100644
 --- a/git.c
 +++ b/git.c
 @@ -619,6 +619,7 @@ int main(int argc, char **av)
  {
   const char **argv = (const char **) av;
   const char *cmd;
 + int done_help, was_alias;
  
   startup_info = git_startup_info;
  
 @@ -681,8 +682,6 @@ int main(int argc, char **av)
   setup_path();
  
   while (1) {
 - static int done_help = 0;
 - static int was_alias = 0;
   was_alias = run_argv(argc, argv);
   if (errno != ENOENT)
   break;
 

/S
-- 

/dev/random says: Recovery program for excessive talkers: On-and-on-Anon.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] gittutorial.txt: remove reference to ancient Git version

2014-11-12 Thread Stefan Näwe
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am 12.11.2014 um 09:57 schrieb Thomas Ackermann:
  
 I also re-read the whole document and think it's still up-to-date
 with Git 2.0. But I might have missed some subtler points.

Hhmm..
At least this is not 100% up to date:

diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt
index 8262196..8715244 100644
- --- a/Documentation/gittutorial.txt
+++ b/Documentation/gittutorial.txt
@@ -107,14 +107,15 @@ summary of the situation with 'git status':

 
 $ git status
- -# On branch master
- -# Changes to be committed:
- -#   (use git reset HEAD file... to unstage)
- -#
- -#  modified:   file1
- -#  modified:   file2
- -#  modified:   file3
- -#
+On branch master
+Changes to be committed:
+Your branch is up-to-date with 'origin/master'.
+  (use git reset HEAD file... to unstage)
+
+modified:   file1
+modified:   file2
+modified:   file3
+


Stefan
- -- 
- 
/dev/random says: The drunker I sit here, The longer I get.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iEYEARECAAYFAlRjJGgACgkQgptJxZIhJ6+MfQCeI4iZ3HSkT0Lsk1sh1ckHLBzK
ROwAnAog8We8VLs6trwJsSQqZWDg7ndN
=YC26
-END PGP SIGNATURE-
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] gittutorial.txt: remove reference to ancient Git version

2014-11-12 Thread Stefan Näwe
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am 12.11.2014 um 10:12 schrieb Stefan Näwe:
 Am 12.11.2014 um 09:57 schrieb Thomas Ackermann:
 
 I also re-read the whole document and think it's still up-to-date
 with Git 2.0. But I might have missed some subtler points.
 
 Hhmm..
 At least this is not 100% up to date:
 
 diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.txt
 [...]

And while at it:

diff --git a/Documentation/gittutorial-2.txt b/Documentation/gittutorial-2.txt
index 3109ea8..1901af7 100644
- --- a/Documentation/gittutorial-2.txt
+++ b/Documentation/gittutorial-2.txt
@@ -368,17 +368,18 @@ situation:

 
 $ git status
- -# On branch master
- -# Changes to be committed:
- -#   (use git reset HEAD file... to unstage)
- -#
- -#   new file: closing.txt
- -#
- -# Changes not staged for commit:
- -#   (use git add file... to update what will be committed)
- -#
- -#   modified: file.txt
- -#
+On branch master
+Changes to be committed:
+  (use git reset HEAD file... to unstage)
+
+new file:   closing.txt
+
+Changes not staged for commit:
+  (use git add file... to update what will be committed)
+  (use git checkout -- file... to discard changes in working directory)
+
+modified:   file.txt
+


Stefan
- -- 
- 
/dev/random says: Make it idiot proof and someone will make a better idiot.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iEYEARECAAYFAlRjJmoACgkQgptJxZIhJ6+LBgCgmVgJCmJjC86NHopW1rQwk/eA
r04AoIgMfKhB00H8KCHBMAsC5LjCFXY5
=bNM+
-END PGP SIGNATURE-
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git commit --only -- $path when $path already has staged content

2014-11-09 Thread Stefan Näwe
Am 07.11.2014 um 20:54 schrieb Junio C Hamano:
 Junio C Hamano gits...@pobox.com writes:
 
 In other words, you give paths from the command line to tell the
 command that you want to record the contents of them in the working
 tree as a whole to be recorded in the resulting commit.
 
 ... and --only/--include only makes difference wrt what happens to
 contents from the other paths.
 
 Perhaps the attached would clarify it better, but there may have to
 be some tutorial material to teach users that fundamentally there
 are two ways to use Git, one to prepare what to be committed in the
 index and run git commit without any paths, and the other to
 pretty much ignore the index and run git commit with paths (or
 with -a), and mixing two are considered to be rare exception.
 
 You would (1) work with an elaborate sequence to build the next
 commit in the index using add path and add -p, (2) notice a
 change that can go before what you are building (e.g. trivial
 typofix) outside the paths you are touching, and (3) edit that path
 and do git commit path.  That is the only scenario that makes
 some sense to mix the two modes.
 
 Imagine the change (2) you want to jump over your changes in (1)
 happens to be in a path you are working with the index, e.g. after
 running:
 
   git add -p hello.rb
 
 and picking only parts of changes you made to hello.rb into the
 index, you found a trivial typo in the same file but in an unrelated
 place (i.e. git diff hello.rb at that point would not show the
 typo either in the preimage or the context).  There is no way to
 make the typofix first without disrupting what you did so far, and
 git commit -o would not help (you would instead do a git stash
 to save away the work in progress, make _only_ the typofix in the
 same file, commit and then unstash, or something).
 
 So in short, stick to either work with the index or ignore the
 index; do not mix the two workflows and you would not have to worry
 about -o or -i.

 
Thanks for your explanation. Makes perfect sense.

  Documentation/git-commit.txt | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
 index 0bbc8f5..d6c4af1 100644
 --- a/Documentation/git-commit.txt
 +++ b/Documentation/git-commit.txt
 @@ -250,7 +250,7 @@ FROM UPSTREAM REBASE section in linkgit:git-rebase[1].)
  
  -o::
  --only::
 - Make a commit only from the paths specified on the
 + Make a commit only from the working tree contents of the paths 
 specified on the
   command line, disregarding any contents that have been
   staged so far. This is the default mode of operation of
   'git commit' if any paths are given on the command line,

Yep, why not. Makes it a little clearer.


Stefan
-- 

/dev/random says: For every vision there is an equal and opposite revision.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


git commit --only -- $path when $path already has staged content

2014-11-07 Thread Stefan Näwe
Hello.

The manpage of git commit reads:

  --only

  Make a commit only from the paths specified on the command line,
  disregarding any contents that have been staged so far. This is
  the default mode of operation of git commit if any paths are given
  on the command line, in which case this option can be omitted. [...]

But that seems to be only true for other content (i.e. other files not
specified in the command line).

If I do:

# some repo with a file in it
git init
echo content foo  git add foo  git commit -m foo

# modify and stage a file
echo other  foo  git add foo

# modify the same file even further but don't stage
echo bar  foo

# commit with path specified on command line with explicit '--only'
git commit --only -m'.' -- foo

# but everything was commited
git status -s
empty

I would expect to only get the unstaged changes in the commit.
Could anyone shed some light, please?

Thanks,
  Stefan
-- 

/dev/random says: Useless Invention: Camcorder with braile-encoded buttons.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] Allow the user to change the temporary file name for mergetool

2014-08-20 Thread Stefan Näwe
Am 19.08.2014 um 19:15 schrieb Robin Rosenberg:
 Using the original filename suffix for the temporary input files to
 the merge tool confuses IDEs like Eclipse. This patch introduces
 a configurtion option, mergetool.tmpsuffix, which get appended to
 the temporary file name. That way the user can choose to use a
 suffix like .tmp, which does not cause confusion.
 
 Signed-off-by: Robin Rosenberg robin.rosenb...@dewire.com
 ---
  Documentation/config.txt|  5 +
  Documentation/git-mergetool.txt |  7 +++
  git-mergetool.sh| 10 ++
  3 files changed, 18 insertions(+), 4 deletions(-)
 
 diff --git a/Documentation/config.txt b/Documentation/config.txt
 index c55c22a..0e15800 100644
 --- a/Documentation/config.txt
 +++ b/Documentation/config.txt
 @@ -1778,6 +1778,11 @@ notes.displayRef::
   several times.  A warning will be issued for refs that do not
   exist, but a glob that does not match any refs is silently
   ignored.
 +
 +mergetool.tmpsuffix::
 + A string to append the names of the temporary files mergetool
 + creates in the worktree as input to a custom merge tool. The
 + primary use is to avoid confusion in IDEs during merge.
  +
  This setting can be overridden with the `GIT_NOTES_DISPLAY_REF`
  environment variable, which must be a colon separated list of refs or
 diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt
 index e846c2e..80a0526 100644
 --- a/Documentation/git-mergetool.txt
 +++ b/Documentation/git-mergetool.txt
 @@ -89,6 +89,13 @@ Setting the `mergetool.keepBackup` configuration variable 
 to `false`
  causes `git mergetool` to automatically remove the backup as files
  are successfully merged.
  
 +`git mergetool` may also create other temporary files for the
 +different versions involved in the merge. By default these files have
 +the same filename suffix as the file being merged. This may confuse
 +other tools in use during a long merge operation. The user can set
 +`mergetool.tmpsuffix` to be used as an extra suffix, which will be
 +appened to the temporary filename to lessen that problem.

Still:

s/appened/appended/

 +
  GIT
  ---
  Part of the linkgit:git[1] suite
 diff --git a/git-mergetool.sh b/git-mergetool.sh
 index 9a046b7..d7cc76c 100755
 --- a/git-mergetool.sh
 +++ b/git-mergetool.sh
 @@ -214,6 +214,8 @@ checkout_staged_file () {
  }
  
  merge_file () {
 + tmpsuffix=$(git config mergetool.tmpsuffix || true)
 +
   MERGED=$1
  
   f=$(git ls-files -u -- $MERGED)
 @@ -229,10 +231,10 @@ merge_file () {
   fi
  
   ext=$$$(expr $MERGED : '.*\(\.[^/]*\)$')
 - BACKUP=./$MERGED.BACKUP.$ext
 - LOCAL=./$MERGED.LOCAL.$ext
 - REMOTE=./$MERGED.REMOTE.$ext
 - BASE=./$MERGED.BASE.$ext
 + BACKUP=./$MERGED.BACKUP.$ext$tmpsuffix
 + LOCAL=./$MERGED.LOCAL.$ext$tmpsuffix
 + REMOTE=./$MERGED.REMOTE.$ext$tmpsuffix
 + BASE=./$MERGED.BASE.$ext$tmpsuffix
  
   base_mode=$(git ls-files -u -- $MERGED | awk '{if ($3==1) print $1;}')
   local_mode=$(git ls-files -u -- $MERGED | awk '{if ($3==2) print 
 $1;}')
 

Stefan
-- 

/dev/random says: It's Ensign Flintstone, Jim... He's Fred!
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Allow the user to change the temporary file name for mergetool

2014-08-19 Thread Stefan Näwe
Am 19.08.2014 um 14:22 schrieb Robin Rosenberg:
 Using the original filename suffix for the temporary input files to
 the merge tool confuses IDEs like Eclipse. This patch introduces
 a configurtion option, mergetool.tmpsuffix, which get appended to
 the temporary file name. That way the user can choose to use a
 suffix like .tmp, which does not cause confusion.
 
 Signed-off-by: Robin Rosenberg robin.rosenb...@dewire.com
 ---
  Documentation/git-mergetool.txt |  7 +++
  git-mergetool.sh| 10 ++
  2 files changed, 13 insertions(+), 4 deletions(-)
 
 diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt
 index e846c2e..a586766 100644
 --- a/Documentation/git-mergetool.txt
 +++ b/Documentation/git-mergetool.txt
 @@ -89,6 +89,13 @@ Setting the `mergetool.keepBackup` configuration variable 
 to `false`
  causes `git mergetool` to automatically remove the backup as files
  are successfully merged.
  
 +`git mergetool` may also create other temporary files for the
 +different versions involved in the merge. By default these files have
 +the same filename suffix as the file being merged. This may confuse
 +other tools in use during a long merge operation. The user can set
 +`mergtool.tmpsuffix` to be used as an extra suffix, which will be

s/mergtool/mergetool/

 +appened to the temporary filenamame to lessen that problem.

s/appened/appended/
s/filenamame/filename/

 +
  GIT
  ---
  Part of the linkgit:git[1] suite
 diff --git a/git-mergetool.sh b/git-mergetool.sh
 index 9a046b7..d7cc76c 100755
 --- a/git-mergetool.sh
 +++ b/git-mergetool.sh
 @@ -214,6 +214,8 @@ checkout_staged_file () {
  }
  
  merge_file () {
 + tmpsuffix=$(git config mergetool.tmpsuffix || true)
 +
   MERGED=$1
  
   f=$(git ls-files -u -- $MERGED)
 @@ -229,10 +231,10 @@ merge_file () {
   fi
  
   ext=$$$(expr $MERGED : '.*\(\.[^/]*\)$')
 - BACKUP=./$MERGED.BACKUP.$ext
 - LOCAL=./$MERGED.LOCAL.$ext
 - REMOTE=./$MERGED.REMOTE.$ext
 - BASE=./$MERGED.BASE.$ext
 + BACKUP=./$MERGED.BACKUP.$ext$tmpsuffix
 + LOCAL=./$MERGED.LOCAL.$ext$tmpsuffix
 + REMOTE=./$MERGED.REMOTE.$ext$tmpsuffix
 + BASE=./$MERGED.BASE.$ext$tmpsuffix
  
   base_mode=$(git ls-files -u -- $MERGED | awk '{if ($3==1) print $1;}')
   local_mode=$(git ls-files -u -- $MERGED | awk '{if ($3==2) print 
 $1;}')
 

Stefan
-- 

/dev/random says: Confusion not only reigns, it pours.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
 
GPG Key fingerprint = 2DF5 E01B 09C3 7501 BCA9  9666 829B 49C5 9221 27AF
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Git release notes man page

2014-02-19 Thread Stefan Näwe
Am 18.02.2014 23:54, schrieb Philip Oakley:
 From: Junio C Hamano gits...@pobox.com
   I do not understand why
 it is even a good idea to show release notes from the command line
 git interface.
 
 My looking at this came from Stefan's suggestion noted above 
 $gmane/240595. So it had at least one follower ;-)

Yes, but I could definitely live without it.
I compile git myself on most systems and that would just be a
convenient way to get an overview of the latest changes.

Regards,
  Stefan
-- 

/dev/random says: It is bad luck to be superstitious.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Git for Windows 1.9.0

2014-02-18 Thread Stefan Näwe
Am 18.02.2014 00:38, schrieb Johannes Schindelin:
 Dear Git fanbois,
 
 this announcement informs you that the small team of volunteers who keep
 the Git ship afloat for the most prevalent desktop operating system
 managed to release yet another version of Git for Windows:
 
 Git Release Notes (Git-1.9.0-preview20140217)
 Last update: 17 February 2013
 
 Changes since Git-1.8.5.2-preview20131230
 
 New Features
 - Comes with Git 1.9.0 plus Windows-specific patches.
 - Better work-arounds for Windows-specific path length limitations (pull
   request #122)
 - Uses optimized TortoiseGitPLink when detected (msysGit pull request
   #154)
 - Allow Windows users to use Linux Git on their files, using Vagrant
   http://www.vagrantup.com/ (msysGit pull request #159)
 - InnoSetup 5.5.4 is now used to generate the installer (msysGit pull
   request #167)
 
 Bugfixes
 - Fixed regression with interactive password prompt for remotes using the
   HTTPS protocol (issue #111)
 - We now work around Subversion servers printing non-ISO-8601-compliant
   time stamps (pull request #126)
 - The installer no longer sets the HOME environment variable (msysGit pull
   request #166)
 - Perl no longer creates empty sys$command files when no stdin is
   connected (msysGit pull request #152)
 
 Ciao,
 Johannes
 

Thanks to all involved!


Stefan
-- 

/dev/random says: I didn't cheat, I just changed the Rules!
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git-draw - draws nearly the full content of a tiny git repository as a graph

2014-02-03 Thread Stefan Näwe
Am 29.01.2014 22:21, schrieb Flo:
 I just want to present a small tool I wrote. I use it at work to have
 a tool visualizing the Git basic concepts and data structures which
 are really really really simple (Linus' words). That helps me
 teaching my colleagues about Git and answering their questions when
 Git did not behave as they expected.
 
 https://github.com/sensorflo/git-draw/wiki

This looks really promising!

Stefan
-- 

/dev/random says: Famous last words - Jesus Christ: Father, beam me up.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [ANNOUNCE] Git v1.9-rc0

2014-01-22 Thread Stefan Näwe
Am 22.01.2014 13:53, schrieb Javier Domingo Cansino:
 Will there be any change on how tarballs are distributed, taking into
 account that Google will be shutting down Google Code Downloads
 section[1][2]?
 

Am I missing something or what's wrong with this:

  https://github.com/gitster/git/archive/v1.9-rc0.tar.gz

or any

  https://github.com/gitster/git/archive/$TAG.tar.gz

??

(As long as Junio continues to push to github, of course)

Stefan
-- 

/dev/random says: Folks who think they know it all bug those of us who do
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/6] Make 'git help everyday' work - relnotes

2014-01-17 Thread Stefan Näwe
Am 16.01.2014 22:14, schrieb Philip Oakley:
 From: Stefan Näwe stefan.na...@atlas-elektronik.com
 [...]

 I'd really like to see 'git help relnotes' working as well...

 Stefan
 
 Stefan,
 
 Were you thinking that all the release notes would be quoted verbatim in 
 the one long man page?
 
 Or that it would be a set of links to each of the individual text files 
 (see the ifdef::stalenotes[] in git/Documentation/git.txt)?
 
 The latter allows individual release notes to be checked, but still 
 leaves folks with a difficult search problem if they want to find when 
 some command was 'tweaked'.
 
 Obviously, any method would need to be easy to maintain. And the 
 RelNotes symlink would need handling.

'git help relnotes' should show the current release note with
a link to the previous.

And 'git help git' should link to the current release note.


Stefan
-- 

/dev/random says: We now return you to your regularly scheduled flame-throwing
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/6] Make 'git help everyday' work

2014-01-10 Thread Stefan Näwe
Am 10.01.2014 00:49, schrieb Junio C Hamano:
 I think we already use a nicer way to set up a page alias to keep
 old links working than making a copy in Documentation/; please mimic
 that if possible.
 
 It may be overdue to refresh the suggested set of top 20 commands,
 as things have vastly changed over the past 8 years.  Perhaps we
 should do that after reorganizing with something like this series.

I'd really like to see 'git help relnotes' working as well...

Stefan
-- 

/dev/random says: Despite the high cost of living, it remains popular.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Bug: [hostname:port]:repo.git notation no longer works (for ssh)

2013-09-27 Thread Stefan Näwe
Am 27.09.2013 10:07, schrieb Morten Stenshorne:
 I've just upgraded to Debian testing (jessie), and with that I got a
 brand new (for me) git version:
 
 $ git --version
 git version 1.8.4.rc3
 
 Some of my repos I use an ssh tunnel to reach, so when I want to reach a
 repo forwarded to local port 2223, using the ssh protocol, the following
 used to work (.git/config) in older git versions:
 
 [remote exp]
 url = [localhost:2223]:blink.git
 fetch = +refs/heads/*:refs/remotes/exp/*
 
 However, now I get this message:
 
 $ git fetch exp
 fatal: ':blink.git' does not appear to be a git repository
 fatal: Could not read from remote repository.

I wonder why that worked (especially the [...]) at all ?
I thought specifying a port for a SSH connection was always only
possible when using

   ssh://user@host:port/path/to/repo.git
- or -
   ssh://user@host:port/~user/path/to/repo.git

At least that's what I always read out of the git-clone man page.

Stefan
-- 

/dev/random says: Don't ask me, I have random access memory.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Bug] git show crashes with deepened shallow clone

2013-09-25 Thread Stefan Näwe
Just a quick report since I don't have time to bisect now (will do later
if no other gitster is faster...)

When I execute the below script 'git show' crashes. 'git log --oneline -2' gives
for example:

  3808bade5b76c4663ac4a3f751dc9f1ed0b08f2e three
  error: Could not read 1e8777edeb2b7e757f74c789e679fc6c71073897
  fatal: Failed to traverse parents of commit 
0aa4ef86004f5bb29f67e971d7963f5cf430c668

gdb backtrace of one run is attached.
It happens on 32-bit Debian (5.0.10), 64-bit openSUSE (12.2), and Windows XP 
with git 1.8.4
on all systems.

The help of 'git fetch' says:

  --depth=depth

  Deepen or shorten the history of a shallow repository created by git 
clone with
  --depth=depth option (see git-clone(1)) to the specified number of 
commits from
  the tip of each remote branch history. Tags for the deepened commits are 
not fetched.
---^

But that's not true. The tag 'two' (from the script below) gets fetched when
deepening the repository.



---8---8---8---8---8---8---8---8---8---8---8---8---8---8---8
git init shallow-test 
(cd shallow-test 
echo foo  file 
git add file 
git commit -mone
git tag -mone one 
echo bar  file 
git commit -mtwo file
git tag -mtwo two 
echo baz  file 
git commit -mthree file
git tag -mthree three ) 
git clone --depth=1 -b three file://`pwd`/shallow-test shallow-test-clone 
(cd shallow-test-clone 
git fetch --depth=2 
git log --oneline -2 ;
git show two)
---8---8---8---8---8---8---8---8---8---8---8---8---8---8---8


Stefan
-- 

/dev/random says: The cost of feathers has risen... Now even DOWN is up!
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
Core was generated by `/home/naewe/src/git/git show two'.
Program terminated with signal 11, Segmentation fault.
[New process 13783]
#0  read_object_with_reference (sha1=0x4 Address 0x4 out of bounds, 
required_type_name=0x817ca97 tree, size=0xbfdfe3d8, actual_sha1_return=0x0)
at cache.h:697
697 memcpy(sha_dst, sha_src, 20);
#0  read_object_with_reference (sha1=0x4 Address 0x4 out of bounds, 
required_type_name=0x817ca97 tree, size=0xbfdfe3d8, actual_sha1_return=0x0)
at cache.h:697
type = -1075846344
required_type = OBJ_TREE
buffer = (void *) 0x0
isize = value optimized out
actual_sha1 = \fãß¿\000\000\000\000¸âß¿±n\022\b¼`S\t
#1  0x081392bf in diff_tree_sha1 (old=0x4 Address 0x4 out of bounds, 
new=0x95429cc A1þM3Í\205Ú\200Zɦi|\QÉ\023\210\034, base=0x8155ab9 , 
opt=0xbfdfe7e4) at tree-diff.c:277
tree1 = (void *) 0x954a9d0
tree2 = value optimized out
t1 = {
  buffer = 0x1, 
  entry = {
sha1 = 0x0, 
path = 0x0, 
mode = 3219121144
  }, 
  size = 135386226
}
t2 = {
  buffer = 0xbfdfe3e8, 
  entry = {
sha1 = 0x80c44cc é1ÿÿÿë\r, '\220' repeats 13 times, 
U\211åW\211×V\211ÎS\203ì\034ÇEð, 
path = 0x816d329 Could not read %s, 
mode = 135991090
  }, 
  size = 3219121108
}
size1 = value optimized out
size2 = value optimized out
retval = value optimized out
#2  0x080f12d9 in log_tree_commit (opt=0xbfdfe530, commit=0x9536088) at 
log-tree.c:778
log = {
  commit = 0x9536088, 
  parent = 0x0
}
shown = 0
#3  0x08082dea in cmd_log_walk (rev=0xbfdfe530) at builtin/log.c:342
commit = (struct commit *) 0x9536088
saved_nrl = 0
saved_dcctc = 0
#4  0x080835cd in cmd_show (argc=2, argv=0xbfdfec28, prefix=0x0) at 
builtin/log.c:566
o = (struct object *) 0x9536088
name = 0x952c390 two
rev = {
  commits = 0x0, 
  pending = {
nr = 0, 
alloc = 0, 
objects = 0x0
  }, 
  boundary_commits = {
nr = 0, 
alloc = 0, 
objects = 0x0
  }, 
  cmdline = {
nr = 1, 
alloc = 24, 
rev = 0x952c9f8
  }, 
  prefix = 0x0, 
  def = 0x815364c HEAD, 
  prune_data = {
raw = 0x0, 
nr = 0, 
has_wildcard = 0, 
recursive = 0, 
max_depth = 0, 
items = 0x0
  }, 
  sort_order = REV_SORT_IN_GRAPH_ORDER, 
  early_output = 0, 
  ignore_missing = 0, 
  dense = 1, 
  prune = 0, 
  no_walk = 1, 
  show_all = 0, 
  remove_empty_trees = 0, 
  simplify_history = 1, 
  topo_order = 0, 
  simplify_merges = 0, 
  simplify_by_decoration = 0, 
  tag_objects = 0, 
  tree_objects = 0, 
  blob_objects = 0, 
  verify_objects = 0, 
  edge_hint = 0, 
  limited = 0, 
  unpacked = 0, 
  boundary = 0, 
  count = 0, 
  left_right = 0, 
  left_only = 0, 
  right_only = 0, 
  rewrite_parents = 0, 
  print_parents = 0, 
  show_source = 0, 
  show_decorations = 0, 
  reverse = 0, 
  reverse_output_stage = 0, 
  cherry_pick = 0, 
  cherry_mark = 0, 
  bisect = 0, 
  ancestry_path = 0, 
  first_parent_only = 0, 
  line_level_traverse = 0, 
  diff = 1, 
  full_diff = 0, 
  show_root_diff = 1, 
  no_commit_id = 0, 
  verbose_header = 1, 
  

Re: [Bug] git show crashes with deepened shallow clone

2013-09-25 Thread Stefan Näwe
Am 25.09.2013 16:47, schrieb Stefan Näwe:
 Just a quick report since I don't have time to bisect now (will do later
 if no other gitster is faster...)

Seems to be somewhere between v1.8.3.1 (OK) and v1.8.3.2 (not OK) !!


 
 When I execute the below script 'git show' crashes. 'git log --oneline -2' 
 gives
 for example:
 
   3808bade5b76c4663ac4a3f751dc9f1ed0b08f2e three
   error: Could not read 1e8777edeb2b7e757f74c789e679fc6c71073897
   fatal: Failed to traverse parents of commit 
 0aa4ef86004f5bb29f67e971d7963f5cf430c668
 
 gdb backtrace of one run is attached.
 It happens on 32-bit Debian (5.0.10), 64-bit openSUSE (12.2), and Windows XP 
 with git 1.8.4
 on all systems.
 
 The help of 'git fetch' says:
 
   --depth=depth
 
   Deepen or shorten the history of a shallow repository created by git 
 clone with
   --depth=depth option (see git-clone(1)) to the specified number of 
 commits from
   the tip of each remote branch history. Tags for the deepened commits 
 are not fetched.
 ---^
 
 But that's not true. The tag 'two' (from the script below) gets fetched when
 deepening the repository.

v1.8.3.1 fetches the tag also.


Stefan
-- 

/dev/random says: Pobody's Nerfect!
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [Bug] git show crashes with deepened shallow clone

2013-09-25 Thread Stefan Näwe
Am 25.09.2013 16:47, schrieb Stefan Näwe:
 Just a quick report since I don't have time to bisect now (will do later
 if no other gitster is faster...)

I'd marry 'git bisect' if I wasn't already... ;-)

This is what it gives me if I use my script (slightly modified to also run make)
with 'git bisect run':

6035d6aad8ca11954c0d7821f6f3e7c047039c8f is the first bad commit
commit 6035d6aad8ca11954c0d7821f6f3e7c047039c8f
Author: Nguyễn Thái Ngọc Duy pclo...@gmail.com
Date:   Sun May 26 08:16:15 2013 +0700

fetch-pack: prepare updated shallow file before fetching the pack

index-pack --strict looks up and follows parent commits. If shallow
information is not ready by the time index-pack is run, index-pack may
be led to non-existent objects. Make fetch-pack save shallow file to
disk before invoking index-pack.

git learns new global option --shallow-file to pass on the alternate
shallow file path. Undocumented (and not even support --shallow-file=
syntax) because it's unlikely to be used again elsewhere.

Signed-off-by: Nguyễn Thái Ngọc Duy pclo...@gmail.com
Signed-off-by: Junio C Hamano gits...@pobox.com

:100644 100644 67bd5091be0b34bfea075cd60281d22cf5b34768 
6e9c7cd9d5da7d24d4810b36039681f184325932 M  commit.h
:100644 100644 f156dd4fac30cda4e09c508b7091cdb8d96917e2 
6b5467c6dec9645f53d83cdad2467a158db622c0 M  fetch-pack.c
:100644 100644 1ada169d5cff3051effee33c6f9ba5b9be15b2e6 
88eef5a7cc6d36f6e17f4855945116dd6f1b0681 M  git.c
:100644 100644 6be915f38f1fe8dbe0a22c4cd8ae2569331f483f 
cbe2526d8c2b2643957eea2729a16269a7a74fab M  shallow.c
:04 04 5333beeb4db3fc37c37e5a4d03816c4750ce6b28 
3b0fb999b8655155cba24e2d09ebff29058d29d7 M  t
bisect run success


Stefan
-- 

/dev/random says: Answers: $1 * Correct answers: $5 * Dumb looks: Free! *
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [Bug] git show crashes with deepened shallow clone

2013-09-25 Thread Stefan Näwe
Stefan Näwe stefan.naewe at atlas-elektronik.com writes:

 Am 25.09.2013 16:47, schrieb Stefan Näwe:
 This is what it gives me if I use my script (slightly modified 
 to also run make) with 'git bisect run':
 
 6035d6aad8ca11954c0d7821f6f3e7c047039c8f is the first bad commit

And to answer myself once more:

That's fixed in

   6da8bdc fetch-pack: do not remove .git/shallow file when --depth is not 
specified

Sorry for all the noise.

Stefan

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git clone -b

2013-07-02 Thread Stefan Näwe
Am 01.07.2013 18:46, schrieb Junio C Hamano:
 Stefan Näwe stefan.na...@atlas-elektronik.com writes:
 
 Is there any reason why 'git clone -b' only takes a branch (from 
 refs/heads/)
 or a tag (from refs/tags/) ?
 
 Because they are common enough, and doing the same for an arbitrary
 object is just as easy to do something like:
 
   git clone -n
 git checkout $an_arbitrary_commit_object_name^0

OK. I wasn't aware of '-n' for 'git clone'. Thanks.

 
 Background: At $dayjob we're using some kind of 'hidden' refs (in 
 refs/releases/)
 to communicate between the 'branch integrator' (who creates the ref in 
 refs/releases/)
 and the 'build master' who wants to build that ref. 
 
 While I wasn't paying much attention to this, I vaguely recall that
 people pointed out that using a fresh clone every time may not be
 what you want to do in the first place, and I happen to agree with
 them (and that is why I am not very much interested in this topic).
 
As I said: We'd be using 'git archive --remote...' if that was
submodule-aware.

Thanks,
  Stefan
-- 

/dev/random says: Circular Definition: see Definition, Circular.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git clone -b

2013-07-01 Thread Stefan Näwe
Am 28.06.2013 13:59, schrieb Stefan Näwe:
 Hi there!
 
 Is there any reason why 'git clone -b' only takes a branch (from refs/heads/)
 or a tag (from refs/tags/) ?
 
 Background: At $dayjob we're using some kind of 'hidden' refs (in 
 refs/releases/)
 to communicate between the 'branch integrator' (who creates the ref in 
 refs/releases/)
 and the 'build master' who wants to build that ref. 
 
 It would be a little easier if the build master could simply say
 
   git clone -b refs/releases/the-release-for-today URL
 
 instead of: git clone... ; cd ... ; git fetch... ; git checkout
 
 Any answer or even a better idea to solve that is appreciated.
 
 Stefan
 

Anyone?

Thanks,
  Stefan
-- 

/dev/random says: Some people like learning Eskimo, but I can't get Inuit.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC/PATCH] submodule: add 'exec' option to submodule update

2013-06-28 Thread Stefan Näwe
Am 28.06.2013 11:53, schrieb Chris Packham:
 This allows the user some finer grained control over how the update is
 done. The primary motivation for this was interoperability with stgit
 however being able to intercept the submodule update process may prove
 useful for integrating or extending other tools.
 
 Signed-off-by: Chris Packham judge.pack...@gmail.com
 --
 Hi,
 
 At $dayjob we have a number of users that are accustomed to using stgit.
 Stgit doesn't play nicely with git rebase which would be the logical
 setting for submodule.*.update for our usage. Instead we need to run
 'stg rebase --merged' on those submodules that have been initialised
 with stgit.
 
 Our current solution is an in-house script which is a poor substitute
 for git submodule update. I'd much rather replace our script with git
 submodule update but we do have a requirement to keep stgit for the
 foreseeable future.  Rather than narrowing in on stgit it seems logical
 to allow an arbitrary update command to be executed.

Hhmmm...
Can't the same be accomplished with 
 
  git submodule foreach 'your-update-script $sha1'

Am I missing something?

Stefan
-- 

/dev/random says: Preserve nature... pickle a squirrel.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


git clone -b

2013-06-28 Thread Stefan Näwe
Hi there!

Is there any reason why 'git clone -b' only takes a branch (from refs/heads/)
or a tag (from refs/tags/) ?

Background: At $dayjob we're using some kind of 'hidden' refs (in 
refs/releases/)
to communicate between the 'branch integrator' (who creates the ref in 
refs/releases/)
and the 'build master' who wants to build that ref. 

It would be a little easier if the build master could simply say

  git clone -b refs/releases/the-release-for-today URL

instead of: git clone... ; cd ... ; git fetch... ; git checkout

Any answer or even a better idea to solve that is appreciated.

Stefan
-- 

/dev/random says: Second star to the right  straight on till morning...
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git clone -b

2013-06-28 Thread Stefan Näwe
Am 28.06.2013 13:59, schrieb Stefan Näwe:
 Hi there!
 
 Is there any reason why 'git clone -b' only takes a branch (from refs/heads/)
 or a tag (from refs/tags/) ?
 
 Background: At $dayjob we're using some kind of 'hidden' refs (in 
 refs/releases/)
 to communicate between the 'branch integrator' (who creates the ref in 
 refs/releases/)
 and the 'build master' who wants to build that ref. 
 
 It would be a little easier if the build master could simply say
 
   git clone -b refs/releases/the-release-for-today URL
 
 instead of: git clone... ; cd ... ; git fetch... ; git checkout
 
 Any answer or even a better idea to solve that is appreciated.
 
 Stefan
 

Oh, and while at it:

This doesn't look/feel right:

  $ git clone -b refs/heads/master git/.git other-git
  Cloning into 'other-git'...
  fatal: Remote branch refs/heads/master not found in upstream origin
  fatal: The remote end hung up unexpectedly

(where git is git's git which definitely has refs/heads/master...)

Stefan
-- 

/dev/random says: In God we trust; all else we walk through.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git clone -b

2013-06-28 Thread Stefan Näwe
Am 28.06.2013 14:18, schrieb Fredrik Gustafsson:
 On Fri, Jun 28, 2013 at 01:59:51PM +0200, Stefan Näwe wrote:
 Hi there!

 Is there any reason why 'git clone -b' only takes a branch (from refs/heads/)
 or a tag (from refs/tags/) ?

 Background: At $dayjob we're using some kind of 'hidden' refs (in 
 refs/releases/)
 to communicate between the 'branch integrator' (who creates the ref in 
 refs/releases/)
 and the 'build master' who wants to build that ref. 

 It would be a little easier if the build master could simply say

   git clone -b refs/releases/the-release-for-today URL

 instead of: git clone... ; cd ... ; git fetch... ; git checkout

 Any answer or even a better idea to solve that is appreciated.

 Stefan
 
 I don't understand what the alternative should be. You can't look in
 /refs/* because there's a lot of other stuff like bisect/remotes etc.
 there.

Well, I tell clone exactly what I want. There is no reason try something
from refs/*.
 
 Of course you could add to also look in /refs/releases/ but as I
 understand you that a special solution for your company. Why should all
 git users have that addition?

It wouldn't hurt, IMHO. Maybe it would even make sense to allow any SHA-1
to be passed to '-b'.
 
 Two questions about your setup:
 
   1. Why do you always clone your repository? To me clone is a one
   time operation.

We would use 'git archive' if that would be submodule-aware...

   2. Why don't you tag your releases with an ordinary tag?

Because we use that 'refs/release' thing as a hidden ref that other
developers will not see when they fetch (unless they are told to checkout
that particular ref).

Think of using this similar to the way github uses refs/pull/*/{head,merge} 
for their pull request mechanism.

Stefan
-- 

/dev/random says: The Definition of an Upgrade: Take old bugs out, put new ones 
in.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: segmentation fault (nullpointer) with git log --submodule -p

2013-01-24 Thread Stefan Näwe
Am 23.01.2013 21:02, schrieb Jeff King:
 On Wed, Jan 23, 2013 at 03:38:16PM +0100, Armin wrote:
 
 Hello dear git people.

 I experience a reproducible segmentation fault on one of my
 repositories when doing a git log --submodule -p, tested with newest
 version on Arch Linux (git version 1.8.1.1) and built fresh (git
 version 1.8.1.1.347.g9591fcc), tried on 2 seperate systems:


 Program terminated with signal 11, Segmentation fault.
 #0  0x004b51e5 in parse_commit_header (context=0x769b6980) at 
 pretty.c:752
 752 for (i = 0; msg[i]; i++) {
 [...]
 (gdb) l
 747 static void parse_commit_header(struct format_commit_context *context)
 748 {
 749 const char *msg = context-message;
 750 int i;
 751 
 752 for (i = 0; msg[i]; i++) {
 753 int eol;
 754 for (eol = i; msg[eol]  msg[eol] != '\n'; eol++)
 755 ; /* do nothing */
 756 
 (gdb) p msg
 $7 = optimized out
 (gdb) p context-message
 $8 = 0x0
 
 Yeah, that should definitely not be NULL. I can't reproduce here with a
 few simple examples, though.
 
 Does it fail with older versions of git? If so, can you bisect?

I did. My bisection told me this is the suspect:

ccdc603 (parse_object: try internal cache before reading object db)

My git-fu is not good enough to analyze that...

 Is it possible for you to make your repo available?

Unfortunately not. It crashes with one particular repos (using submodules)
that I can't make available but not with another which is available
at https://github.com/snaewe/super.git

HTH

Stefan
-- 

/dev/random says: There must be more to life than compile-and-go.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: segmentation fault (nullpointer) with git log --submodule -p

2013-01-24 Thread Stefan Näwe
Am Donnerstag, 24. Januar 2013 14:40:47 schrieb Duy Nguyen:
 On Thu, Jan 24, 2013 at 7:11 PM, Stefan Näwe
 stefan.na...@atlas-elektronik.com wrote:
 Does it fail with older versions of git? If so, can you bisect?

 I did. My bisection told me this is the suspect:

 ccdc603 (parse_object: try internal cache before reading object db)

 diff --git a/object.c b/object.c
 index d8d09f9..6b06297 100644
 --- a/object.c
 +++ b/object.c
 @@ -191,10 +191,15 @@ struct object *parse_object(const unsigned char *sha1)
 enum object_type type;
 int eaten;
 const unsigned char *repl = lookup_replace_object(sha1);
 -   void *buffer = read_sha1_file(sha1, type, size);
 +   void *buffer;
 +   struct object *obj;
 +
 +   obj = lookup_object(sha1);
 +   if (obj  obj-parsed)
 +   return obj;

 Any chance obj-parsed is 1 but ((struct commit*)obj)-buffer is NULL?
 What if you change that if to

 if (obj  obj-parsed  (obj-type != OBJ_COMMIT || ((struct commit
 *)obj)-buffer))


No more segfault!

 Also you did not encode commits in any specific encoding,

We're using Git for Windows and some commits contain 'umlauts' (äöü).
But those characters should be encoded in UTF-8, shouldn't they?
But the 'git log...' only crashes on a Debian/Linux machine.

 nor set i18n.logOutputEncoding?

It's not set.

(only i18n.filesEncoding is set to utf-8 on my machine)

Oh, and it's not crashing if I do:

git log -p --submodule |cat

Stefan
--

/dev/random says: Dumb luck beats sound planning every time. Trust me.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git gui does not open bare repositories

2012-10-01 Thread Stefan Näwe
Am 28.09.2012 10:44, schrieb Stefan Näwe:

 I get Not a Git repository: remote.git as well, when I run
 git gui somewhere (i.e. not in remote.git) 

i.e.:

  $ cd /not/a/repo
  $ git gui

 and the select Open Existing Repository.
 
 I get Cannot use bare repository: .../remote.git when I run git gui
 from inside the remote.git directory.

i.e.:

  $ cd /path/to/bare-repo.git
  $ git gui

 Both on WinXP with msysGit.

And the same on Linux with Git v1.7.12

Stefan
-- 

/dev/random says: Press any key to continue or any other key to quit...
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git gui does not open bare repositories

2012-09-28 Thread Stefan Näwe
Am 28.09.2012 10:35, schrieb Frans Klaver:
 Hi,
 
 Please remember to reply to all when discussing things on the git mailing 
 list.
 
 On Fri, Sep 28, 2012 at 10:29 AM, Angelo Borsotti
 angelo.borso...@gmail.com wrote:
 Hello

 I apologise for having used the wrong script to reproduce the error.
 This is  the right one:

 angelo@ANGELO-PC /d/gtest (master)
 $ mkdir remote.git

 angelo@ANGELO-PC /d/gtest (master)
 $ cd remote.git

 angelo@ANGELO-PC /d/gtest/remote.git (master)
 $ git init --bare
 Initialized empty Git repository in d:/gtest/remote.git/

 Now with the git gui I try to open the d:/gtest/remote.git/ and
 receive the message
 that it is not a git repository.

 I understand that the gui is mostly aimed to non-bare repositories,
 but in such a case
 it would be better it could give me a message like, e.g. could not
 open a bare repository
 instead of telling me that it is not a git repository (I thought my
 bare repository was
 corrupt, and tried to figure out what was wrong with it).
 
 
 Actually git-gui 0.16.0 is telling me that it cannot use bare
 repositories, much in the vein of what I wrote earlier. Don't know if
 it matters that I'm on Linux though.

I get Not a Git repository: remote.git as well, when I run
git gui somewhere (i.e. not in remote.git) and the select 
Open Existing Repository.

I get Cannot use bare repository: .../remote.git when I run git gui
from inside the remote.git directory.

Both on WinXP with msysGit.

Stefan
-- 

/dev/random says: Unless you're the lead dog, the view never changes.
python -c print 
'73746566616e2e6e616577654061746c61732d656c656b74726f6e696b2e636f6d'.decode('hex')
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] Add a new email notification script to contrib

2012-07-14 Thread Stefan Näwe
 mhagger at alum.mit.edu writes:

 
 From: Michael Haggerty mhagger at alum.mit.edu
 
 Add a new Python script, contrib/hooks/post-receive-multimail.py, that
 can be used to send notification emails describing pushes into a git
 repository.  This script is derived from
 contrib/hooks/post-receive-mail, but has many differences, including:

Looks interesting!

Do you have a fork of git.git somewhere that contains the script?
(I find it so much easier these days to simply fetch another repo instead
of applying patches with 'git am'.)

Thanks,
  Stefan


--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Support of '^' as alias for 'HEAD^'

2012-07-14 Thread Stefan Näwe
Zeeshan Ali (Khattak zeeshanak at gnome.org writes:

 
 Hi,
   Many times I want to refer to 'HEAD^', 'HEAD^^' and sometimes even
 further up the tree. It would be really nice if I didn't have to type
 'HEAD^' but could only type '^'. Bash completion make things easier
 but it automatically inserts a space immediately after HEAD so you
 have to hit backspace. I think this change would be good in general
 anyway.

Or even '~1', '~3'.

Where's the '+1' button...?

Stefan

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html