Re: Help on autocompletion not localized?

2018-09-11 Thread Duy Nguyen
On Tue, Sep 11, 2018 at 2:55 PM Jean-Noël Avila  wrote:
>
> Hi,
>
>
> When invoking the autocompletion help with  after a double
> hyphen under zsh, the help list is not localized. I guess the help list
> comes from some usage output of the on-going git command, but I wasn't
> able to find where and how this happens (completion scripts are quite
> hairy).

I don't use zsh, but I guess that's because the help strings are hard
coded in there (in English of course). You can start at
__git_zsh_cmd_common() function.

These strings are available (or at least possible to make them
available) from 'git' binary, which should be translated. It's just a
a matter of hooking up to zsh script.
-- 
Duy


Re: Help with "fatal: unable to read ...." error during GC?

2018-08-12 Thread Duy Nguyen
On Sat, Aug 11, 2018 at 4:25 PM Jeff King  wrote:
> > I do still have these warnings and no amount of git gc/git fsck/etc.
> > has reduced them in any way:
> >
> > $ git gc
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
>
> I think these would go away via "reflog expire" (I'd have thought "git
> gc" would do so, though). I wonder if this is yet another tool that
> needs to be taught about worktree heads.

You would need "reflog expire --expire-unreachable=now" because the
default 30 days are probably too long for this case. And yes "reflog
expire --all" needs to be aware of other heads (and other per-worktree
refs in general). I'm pretty sure right now it only cares about the
current worktree's head.
-- 
Duy


Re: Help with "fatal: unable to read ...." error during GC?

2018-08-11 Thread Jeff King
On Sat, Aug 11, 2018 at 04:38:00PM +0200, Duy Nguyen wrote:

> On Sat, Aug 11, 2018 at 4:25 PM Jeff King  wrote:
> > Responding myself and adding Duy to the cc to increase visibility among
> > worktree experts. :)
> 
> I do silently watch this thread (and yes I still have to fix that fsck
> thing, hit a roadblock with ref names but I should really restart it
> soon). Now you have found one more thing for me to do. Why Jeff why?
> j/k

:) I was actually thinking about doing it myself, but was worried that
the refactoring might complicate things. And it sounds from the fact
that you looked into it and hit a roadblock that it is more complicated
than I thought.

So I'll leave it for now, but I'm happy to review or discuss ideas.

-Peff


Re: Help with "fatal: unable to read ...." error during GC?

2018-08-11 Thread Duy Nguyen
On Sat, Aug 11, 2018 at 4:25 PM Jeff King  wrote:
> Responding myself and adding Duy to the cc to increase visibility among
> worktree experts. :)

I do silently watch this thread (and yes I still have to fix that fsck
thing, hit a roadblock with ref names but I should really restart it
soon). Now you have found one more thing for me to do. Why Jeff why?
j/k
-- 
Duy


Re: Help with "fatal: unable to read ...." error during GC?

2018-08-11 Thread Jeff King
On Sat, Aug 11, 2018 at 10:23:41AM -0400, Jeff King wrote:

> > I do still have these warnings and no amount of git gc/git fsck/etc.
> > has reduced them in any way:
> > 
> > $ git gc
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> > warning: reflog of 'HEAD' references pruned commits
> 
> I think these would go away via "reflog expire" (I'd have thought "git
> gc" would do so, though). I wonder if this is yet another tool that
> needs to be taught about worktree heads.
> 
> > I've run git gc --prune=all then git fsck reports only these dangling
> > commits:
> > 
> > dangling commit cef0678a5e0765506e3fac41286696fd37a9b1e9
> > dangling commit 1729195f021a1b95ea8ca10b9c32e76bf2257e67
> > dangling commit 08385b9731291607a8c6d4bf10272002d8f31e1f
> > dangling commit c4ddfb2139eeb5a3c132dbfc84cc6e27fdeb46d1
> > dangling commit 1df8ebcc1cd5f59dd224ce1f3ba39f24370cf4e7
> > 
> > (this is down from probably 50 or so "dangling ..." commits, blobs, and
> > trees before).
> 
> I'd also expect "--prune=all" to drop all dangling heads. But I think
> this is the worktree thing, again. The code in fsck starts it
> connectivity check with this:
> 
>   if (head_points_at && !is_null_oid(&head_oid))
>   fsck_handle_ref("HEAD", &head_oid, 0, NULL);
>   for_each_rawref(fsck_handle_ref, NULL);
>   if (include_reflogs)
>   for_each_reflog(fsck_handle_reflog, NULL);
> 
> but looking at the similar code in revision.c that has been upgraded to
> handle worktrees (e.g., add_reflogs_to_pending()), I think that is not
> going to look at worktree HEADs nor reflogs.
> 
> I'd hoped to give you a one-liner to try out, but I think it will
> require some refactoring.

Responding myself and adding Duy to the cc to increase visibility among
worktree experts. :)

-Peff


Re: Help with "fatal: unable to read ...." error during GC?

2018-08-11 Thread Jeff King
On Sat, Aug 11, 2018 at 08:13:17AM -0400, Paul Smith wrote:

> I rebuilt Git 2.18.0 without optimization to try to get more debug
> information.  Unfortunately I didn't think to create a backup of my
> problematic .git directory.
> 
> When I ran the above command under the debugger using the non-optimized 
> version of Git... it worked!  That fixed the problem so that now when I
> run "git gc" using the original optimized version I no longer see the
> issue there either.
> 
> So... clearly something is wrong but because I was dumb and didn't make
> a backup I can no longer reproduce the problem :(.  On the other hand,
> my repository is no longer throwing errors so that's good.

Heh. Well, I would like to have known what the problem was. But if it
never happens again, we can go on with our lives. And if it does, then
we'll have another reproduction. :)

The fact that disabling optimizations changed things is worrisome. It
makes me wonder if this is somehow related to the struct-packing changes
in pack-objects. I don't know of any problems there, but in some
modifications to them post-v2.18, we had to deal with some race
conditions.

One alternative theory is that it wasn't the optimizations at all, but
rather the clock moving forward. The repack process cares about the
current time with respect to the mtime of the unreachable objects on
disk. It's possible that between yesterday and today, some objects
crossed the line to "too old to keep" (though from the earlier digging,
I'm not sure this is related to unreachable objects at all).

Thanks for your patience in digging into this, and please let us know if
you run into similar problems again.

> I do still have these warnings and no amount of git gc/git fsck/etc.
> has reduced them in any way:
> 
> $ git gc
> warning: reflog of 'HEAD' references pruned commits
> warning: reflog of 'HEAD' references pruned commits
> warning: reflog of 'HEAD' references pruned commits
> warning: reflog of 'HEAD' references pruned commits
> warning: reflog of 'HEAD' references pruned commits
> warning: reflog of 'HEAD' references pruned commits
> warning: reflog of 'HEAD' references pruned commits
> warning: reflog of 'HEAD' references pruned commits

I think these would go away via "reflog expire" (I'd have thought "git
gc" would do so, though). I wonder if this is yet another tool that
needs to be taught about worktree heads.

> I've run git gc --prune=all then git fsck reports only these dangling
> commits:
> 
> dangling commit cef0678a5e0765506e3fac41286696fd37a9b1e9
> dangling commit 1729195f021a1b95ea8ca10b9c32e76bf2257e67
> dangling commit 08385b9731291607a8c6d4bf10272002d8f31e1f
> dangling commit c4ddfb2139eeb5a3c132dbfc84cc6e27fdeb46d1
> dangling commit 1df8ebcc1cd5f59dd224ce1f3ba39f24370cf4e7
> 
> (this is down from probably 50 or so "dangling ..." commits, blobs, and
> trees before).

I'd also expect "--prune=all" to drop all dangling heads. But I think
this is the worktree thing, again. The code in fsck starts it
connectivity check with this:

  if (head_points_at && !is_null_oid(&head_oid))
  fsck_handle_ref("HEAD", &head_oid, 0, NULL);
  for_each_rawref(fsck_handle_ref, NULL);
  if (include_reflogs)
  for_each_reflog(fsck_handle_reflog, NULL);

but looking at the similar code in revision.c that has been upgraded to
handle worktrees (e.g., add_reflogs_to_pending()), I think that is not
going to look at worktree HEADs nor reflogs.

I'd hoped to give you a one-liner to try out, but I think it will
require some refactoring.

-Peff


Re: Help with "fatal: unable to read ...." error during GC?

2018-08-11 Thread Paul Smith
On Wed, 2018-08-08 at 14:24 -0400, Jeff King wrote:
> If so, can you try running it under gdb and getting a stack trace?
> Something like:
> 
>   gdb git
>   [and then inside gdb...]
>   set args pack-objects --all --reflog --indexed-objects foobreak die
>   run
>   bt
> 
> That might give us a clue where the broken object reference is coming
> from.

Oh no.  I messed up :(.

I rebuilt Git 2.18.0 without optimization to try to get more debug
information.  Unfortunately I didn't think to create a backup of my
problematic .git directory.

When I ran the above command under the debugger using the non-optimized 
version of Git... it worked!  That fixed the problem so that now when I
run "git gc" using the original optimized version I no longer see the
issue there either.

So... clearly something is wrong but because I was dumb and didn't make
a backup I can no longer reproduce the problem :(.  On the other hand,
my repository is no longer throwing errors so that's good.

I do still have these warnings and no amount of git gc/git fsck/etc.
has reduced them in any way:

$ git gc
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
Enumerating objects: 506556, done.
Counting objects: 100% (506556/506556), done.
Delta compression using up to 8 threads.
Compressing objects: 100% (101199/101199), done.
Writing objects: 100% (506556/506556), done.
Total 506556 (delta 358957), reused 506556 (delta 358957)
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
Checking connectivity: 506556, done.

I've run git gc --prune=all then git fsck reports only these dangling
commits:

dangling commit cef0678a5e0765506e3fac41286696fd37a9b1e9
dangling commit 1729195f021a1b95ea8ca10b9c32e76bf2257e67
dangling commit 08385b9731291607a8c6d4bf10272002d8f31e1f
dangling commit c4ddfb2139eeb5a3c132dbfc84cc6e27fdeb46d1
dangling commit 1df8ebcc1cd5f59dd224ce1f3ba39f24370cf4e7

(this is down from probably 50 or so "dangling ..." commits, blobs, and
trees before).


Re: Help with "fatal: unable to read ...." error during GC?

2018-08-09 Thread Jeff King
On Wed, Aug 08, 2018 at 10:45:49PM -0400, Paul Smith wrote:

> On Wed, 2018-08-08 at 14:24 -0400, Jeff King wrote:
> > If so, can you try running it under gdb and getting a stack trace?
> > Something like:
> > 
> >   gdb git
> >   [and then inside gdb...]
> >   set args pack-objects --all --reflog --indexed-objects foo  >   break die
> >   run
> >   bt
> > 
> > That might give us a clue where the broken object reference is coming
> 
> Here we go.  I can rebuild with -Og or -O0 if more detailed debugging
> is needed; most everything appears to be optimized out:

No, I think this is enough to give a general sense of the problem
location.

> Compressing objects: 100% (10/10), done.
> Writing objects:  54% (274416/508176)   
> Thread 1 "git" hit Breakpoint 1, die (err=err@entry=0x5a373a "unable to read 
> %s") at usage.c:119
> 119 {
> (gdb) bt
> #0  die (err=err@entry=0x5a373a "unable to read %s") at usage.c:119
> #1  0x004563f3 in get_delta (entry=) at 
> builtin/pack-objects.c:143
> #2  write_no_reuse_object () at builtin/pack-objects.c:308
> #3  0x00456592 in write_reuse_object (usable_delta=, 
> limit=, entry=, f=) at 
> builtin/pack-objects.c:516
> #4  write_object (write_offset=, entry=0x7fffc9a8d940, 
> f=0x198fb70) at builtin/pack-objects.c:518
> #5  write_one () at builtin/pack-objects.c:576
> #6  0x004592f0 in write_pack_file () at builtin/pack-objects.c:849
> #7  cmd_pack_objects (argc=, argv=, 
> prefix=) at builtin/pack-objects.c:3354
> #8  0x00404f06 in run_builtin (argv=, argc= out>, p=) at git.c:417
> #9  handle_builtin (argc=, argv=) at git.c:632
> #10 0x00405f21 in run_argv (argv=0x7fffe210, 
> argcp=0x7fffe21c) at git.c:761
> #11 cmd_main (argc=, argc@entry=6, argv=, 
> argv@entry=0x7fffe448) at git.c:761
> #12 0x00404b15 in main (argc=6, argv=0x7fffe448) at 
> common-main.c:45

So that's quite unexpected. I assumed we'd have hit this problem while
deciding _which_ objects to write. But we get all the way to the point
of writing out the result before we notice it's missing.

I don't think I've run such a case before, but I wonder if "pack-objects
--all" is too lax about adding missing blobs during its object traversal
(especially during the "unreachable but recent" part of the traversal
that I mentioned, which should silently omit missing objects). I played
around with recreating this situation, though, and I don't think it's
possible to cause the results you're seeing. We come up with a list of
recent objects, but we only use it as a look-up index for discarding
too-old objects. So:

  - it wouldn't ever cause us to choose to write an object into a pack,
which is what you're seeing

  - we'd never consider a missing object; it's a pure lookup table, and
the actual list of objects we consider is found by walking the set
of packs

So that's probably a dead end.

What I really wonder is where we found out about that object name in the
first place. Can you instrument your Git build like this:

diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index 71056d8294..5ff6de5ddf 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -1112,6 +1112,13 @@ static int add_object_entry(const struct object_id *oid, 
enum object_type type,
struct packed_git *found_pack = NULL;
off_t found_offset = 0;
uint32_t index_pos;
+   static const struct object_id funny_oid = {
+   "\xc1\x04\xb8\xfb\x36\x31\xb5\xc5\x46\x95"
+   "\x20\x6b\x2f\x73\x31\x0c\x02\x3c\x99\x63"
+   };
+
+   if (!oidcmp(oid, &funny_oid))
+   warning("found funny oid");
 
display_progress(progress_state, ++nr_seen);
 

and similarly get a backtrace when we hit that warning()? (Or if you're
a gdb expert, you could probably use a conditional breakpoint, but I
find just modifying the source easier).

-Peff


Re: Help with "fatal: unable to read ...." error during GC?

2018-08-08 Thread Paul Smith
On Wed, 2018-08-08 at 14:24 -0400, Jeff King wrote:
> If so, can you try running it under gdb and getting a stack trace?
> Something like:
> 
>   gdb git
>   [and then inside gdb...]
>   set args pack-objects --all --reflog --indexed-objects foobreak die
>   run
>   bt
> 
> That might give us a clue where the broken object reference is coming

Here we go.  I can rebuild with -Og or -O0 if more detailed debugging
is needed; most everything appears to be optimized out:

  ...
Compressing objects: 100% (10/10), done.
Writing objects:  54% (274416/508176)   
Thread 1 "git" hit Breakpoint 1, die (err=err@entry=0x5a373a "unable to read 
%s") at usage.c:119
119 {
(gdb) bt
#0  die (err=err@entry=0x5a373a "unable to read %s") at usage.c:119
#1  0x004563f3 in get_delta (entry=) at 
builtin/pack-objects.c:143
#2  write_no_reuse_object () at builtin/pack-objects.c:308
#3  0x00456592 in write_reuse_object (usable_delta=, 
limit=, entry=, f=) at 
builtin/pack-objects.c:516
#4  write_object (write_offset=, entry=0x7fffc9a8d940, 
f=0x198fb70) at builtin/pack-objects.c:518
#5  write_one () at builtin/pack-objects.c:576
#6  0x004592f0 in write_pack_file () at builtin/pack-objects.c:849
#7  cmd_pack_objects (argc=, argv=, 
prefix=) at builtin/pack-objects.c:3354
#8  0x00404f06 in run_builtin (argv=, argc=, p=) at git.c:417
#9  handle_builtin (argc=, argv=) at git.c:632
#10 0x00405f21 in run_argv (argv=0x7fffe210, argcp=0x7fffe21c) 
at git.c:761
#11 cmd_main (argc=, argc@entry=6, argv=, 
argv@entry=0x7fffe448) at git.c:761
#12 0x00404b15 in main (argc=6, argv=0x7fffe448) at common-main.c:45


Re: Help with "fatal: unable to read ...." error during GC?

2018-08-08 Thread Paul Smith
On Wed, 2018-08-08 at 14:24 -0400, Jeff King wrote:
> Let's narrow it down first and make sure we're dying where I expect.
> Can
> you try:
> 
>   GIT_TRACE=1 git gc
> 
> and confirm the program running when the fatal error is produced?
> 
> From what you've shown it's going to be git-repack, but what I'm not
> clear on is whether it is repack itself that is complaining, or the
> pack-objects process it spawns. I'd guess the latter.

You are correct:

15:27:24.264161 git.c:415   trace: built-in: git pack-
objects --keep-true-parents --honor-pack-keep --non-empty --all --
reflog --indexed-objects --unpack-unreachable=2.weeks.ago --local --
delta-base-offset .git/objects/pack/.tmp-17617-pack

> If so, can you try running it under gdb and getting a stack trace?

I would... but I discovered all my Git binaries are stripped to the max
and no symbols available.

I'll do a quick rebuild with some debug info and get back to you.

Thanks for the pointers!


Re: Help with "fatal: unable to read ...." error during GC?

2018-08-08 Thread Jeff King
On Wed, Aug 08, 2018 at 01:35:30PM -0400, Paul Smith wrote:

> Thanks for the note!  Unhappily for me none of these operations seem to
> find any actionable problems...
> [...]

Drat.

One other option is that it _could_ be related to the "old unreachable
objects that are reachable from recent unreachable objects should be
kept" code. That's supposed to quietly ignore broken links in
unreachable objects, but there could be a bug.

Let's narrow it down first and make sure we're dying where I expect. Can
you try:

  GIT_TRACE=1 git gc

and confirm the program running when the fatal error is produced?

>From what you've shown it's going to be git-repack, but what I'm not
clear on is whether it is repack itself that is complaining, or the
pack-objects process it spawns. I'd guess the latter.

If so, can you try running it under gdb and getting a stack trace?
Something like:

  gdb git
  [and then inside gdb...]
  set args pack-objects --all --reflog --indexed-objects foo 

Re: Help with "fatal: unable to read ...." error during GC?

2018-08-08 Thread Paul Smith
On Wed, 2018-08-08 at 12:06 -0400, Jeff King wrote:
> I'd have expected fsck to find it, too. However, looking at the code,
> I'm not convinced that fsck is actually considering detached worktree
> heads properly, either. Try:
> 
>   git rev-list --all --reflog --objects >/dev/null
> 
> which I know checks worktrees correctly. I'd expect that to fail.
> 
> If it does, then we need to narrow down which worktree is corrupt.
> Perhaps something like:
> 
>   git worktree list |
>   while read worktree head junk; do
> git rev-list --objects $head >/dev/null ||
> echo "$worktree seems corrupt"
>   done

Thanks for the note!  Unhappily for me none of these operations seem to
find any actionable problems...

$ git rev-list --all --reflog --objects >/dev/null
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'HEAD' references pruned commits
$ echo $?
0

$ git worktree list | while read wt head junk; do \
  git rev-list --objects $head >/dev/null || echo "$wt seems corrupt"; \
  done
$

Just to be sure I updated the loop above to echo $wt and $head and they
were correct.  I also re-ran git gc after the above and still got the
original error output so it didn't magically fix itself :).


Re: Help with "fatal: unable to read ...." error during GC?

2018-08-08 Thread Jeff King
On Wed, Aug 08, 2018 at 10:30:11AM -0400, Paul Smith wrote:

> I recently upgraded from Git 2.9.2 to 2.18.0 (note, I have no
> particular reason to believe this is related just passing info).  I'm
> running on Linux (64bit Ubuntu 18.04.1 but I've compiled Git myself
> from source, I'm not using the distro version).
> 
> I have a local repository I've been using for about two years (the
> .git/description file, which I don't use, has a TLM of July 31, 2016),
> with lots of worktrees being created/pruned/etc. during that time.
> 
> Note I'm doing all these operations in the 'main' repository, not in
> any of the worktrees.

Hrm, there was a pretty serious corruption bug in early versions of the
worktree code (IIRC, pruning would not consider detached HEADs from
other worktrees, and could drop that object).

> Yesterday, when I tried to fetch from my upstream I got a notification
> about GC needed.  Then GC failed with these errors (HEAD is set to
> master which is the same as origin/master):
> 
>   warning: reflog of 'HEAD' references pruned commits
>   warning: reflog of 'HEAD' references pruned commits
>   warning: reflog of 'HEAD' references pruned commits
>   warning: reflog of 'HEAD' references pruned commits
>   warning: reflog of 'HEAD' references pruned commits
>   warning: reflog of 'HEAD' references pruned commits
>   warning: reflog of 'HEAD' references pruned commits
>   warning: reflog of 'HEAD' references pruned commits
>   warning: reflog of 'HEAD' references pruned commits
>   warning: reflog of 'HEAD' references pruned commits
>   fatal: unable to read c104b8fb3631b5c54695206b2f73310c023c9963
>   error: failed to run repack

So that definitely looks like the corruption I'd expect from the
worktree bug, but...

> I ran a git fsck --full which showed me a lot of dangling commits and
> blobs, but no errors, no broken link messages, etc.

I'd have expected fsck to find it, too. However, looking at the code,
I'm not convinced that fsck is actually considering detached worktree
heads properly, either. Try:

  git rev-list --all --reflog --objects >/dev/null

which I know checks worktrees correctly. I'd expect that to fail.

If it does, then we need to narrow down which worktree is corrupt.
Perhaps something like:

  git worktree list |
  while read worktree head junk; do
git rev-list --objects $head >/dev/null ||
echo "$worktree seems corrupt"
  done

> I can't find that SHA anywhere: I looked in .git/objects, etc.  I also
> can't find any problems with my repo; obviously I haven't checked
> everything but I can show the git log back to the initial commit, all
> my stashes look fine, all my worktrees seem to be OK (git status etc.
> work fine in all of them).

"git status" might succeed if the corruption is further back in the
history.

> I would hate to have to throw this setup away since it has 23 stashes
> and 25 worktrees in various states that would be annoying to have to
> recreate... 

Definitely don't throw it away. I suspect you have a single corrupt
worktree, and everything else is fine.

-Peff


Re: Help...!

2018-03-16 Thread Konstantin Khomoutov
On Fri, Mar 16, 2018 at 07:38:07PM +0530, JYOTIK MAYUR wrote:

> i am working on a project that is git hosting website like GitHub. I
> am a student so i don't know much on how to make a website like GitHub
> so could please tell me what can be the appropriate steps to make a
> website like that(mostly the server part).

Sure, just study the code of the following projects:

- Go: https://gitea.io/
- C#: https://bonobogitserver.com/
- Java: http://gitblit.com/

Still, please note that this list deals with the development of Git,
so your question clearly is off-topic here, so please refrain from
asking such questions here.

You could try https://www.reddit.com/r/git/ for a start.



Re: Help

2017-09-27 Thread Christian Couder
Hi,

On Thu, Sep 28, 2017 at 3:21 AM, Nityananda  wrote:
> Hello,
> I am new to this community. I am facing a problem while using the
> "make" command inside the "t/" folder.
>
> The error is
>
>
> "1..31
> Makefile:49: recipe for target 't5551-http-fetch-smart.sh' failed
> make[1]: *** [t5551-http-fetch-smart.sh] Error 1
> make[1]: Leaving directory '/home/nitya/projects/git/t'
> Makefile:36: recipe for target 'test' failed
> make: *** [test] Error 2"

Could you try running "./t5551-http-fetch-smart.sh -v -i" to get more
information about the failing test?


Re: Help needed for solving a few issues with building git

2017-07-05 Thread Kaartic Sivaraam
On Wed, 2017-07-05 at 01:30 +0530, Kaartic Sivaraam wrote:
> I tried pointing it to the installed location, it doesn't seem to be
> working. To elaborate a little on what I did,
> 
> * I installed the "libcurl4-openssl-dev" package b
> * I found that the 'include' directory to be present  at
> '/usr/include/x86_64-linux-gnu/curl'. I wasn't sure if
> '/usr/lib/x86_64-linux-gnu/' is the corresponding library
> directory. 
> * I took the common parent of both '/usr' and ran the
> following 
>   commands to build 'git'
> 
> $ make CURLDIR=/usr prefix=/custom/location
> $ make CURLDIR=/usr install prefix=/custom/location
> 
> * The build did succeed but I get an error that "'https'
> helper
> is not found"
> 
> Was anything I did, wrong?
> 
Ok, at last I was able to build git with https support using 'curl'
built from it's source. Anyways, thanks for the help, folks.

> >  This is probably because you are trying to run without installing?
> 
> Nope. I'm *installing* git not using the binary wrappers.
> 
> >  Ask the "git" you built what its --exec-path is, and run "ls" on
> >  that directory to see if you have git-remote-https installed?
> >  
> 
> Obviously, I don't see any 'git-remote-https' binary in the folder to
> which I built git.
> 
> >  Trying a freshly built Git binaries without installing is done by
> >  setting GIT_EXEC_PATH to point at bin-wrappers/ directory at the
> >  top-level of your build tree (that is how our tests can run on an
> >  otherwise virgin box with no Git installed).
> > 
> 


Re: Help needed for solving a few issues with building git

2017-07-04 Thread Kaartic Sivaraam
On Mon, 2017-07-03 at 11:13 -0700, Junio C Hamano wrote:
> Adding HTTPS support
> > > 
> > > I tried to add HTTP/HTTPS support to the custom built version
> > > for which
> > > AFAIK 'git' depends on 'curl'. I tried providing the location
> > > of the
> > > curl source in the Makefile using the following line after
> > > reading the
> > > instructions in the Makefile.
> > > 
> > > CURLDIR=/path/to/curl/source
> > 
>  Shouldn't this point at an installed location (iow, we do not build
>  curl from the source while building Git)?
>  
>  # Define CURLDIR=/foo/bar if your curl header and library files
>  are in
>  # /foo/bar/include and /foo/bar/lib directories.
I tried pointing it to the installed location, it doesn't seem to be
working. To elaborate a little on what I did,

* I installed the "libcurl4-openssl-dev" package b
* I found that the 'include' directory to be present  at
'/usr/include/x86_64-linux-gnu/curl'. I wasn't sure if
'/usr/lib/x86_64-linux-gnu/' is the corresponding library
directory. 
* I took the common parent of both '/usr' and ran the following 
  commands to build 'git'

$ make CURLDIR=/usr prefix=/custom/location
$ make CURLDIR=/usr install prefix=/custom/location

* The build did succeed but I get an error that "'https' helper
is not found"

Was anything I did, wrong?

>  This is probably because you are trying to run without installing?
Nope. I'm *installing* git not using the binary wrappers.

>  Ask the "git" you built what its --exec-path is, and run "ls" on
>  that directory to see if you have git-remote-https installed?
>  
Obviously, I don't see any 'git-remote-https' binary in the folder to
which I built git.

>  Trying a freshly built Git binaries without installing is done by
>  setting GIT_EXEC_PATH to point at bin-wrappers/ directory at the
>  top-level of your build tree (that is how our tests can run on an
>  otherwise virgin box with no Git installed).
> 


On Mon, 2017-07-03 at 13:11 -0700, Junio C Hamano wrote:
> Junio C Hamano  writes:
> 
> $ make NO_GETTEXT=1 NO_MSGFMT=1
> 
> may help.
> 
Ok, I seem to have crapped a little. It seems following the intructions
in the Makefile blindly led to this issue. Reading the instruction
"Define NO_GETTEXT if you don't want Git output to be translated.", I
defined NO_GETTEXT=1 in the Makefile itself! (as specified in the
previous thread)

I'm able to build git without localization support by using the
following command,

make NO_GETTEXT=1 prefix=/custom/location

> NO_GETTEXT is "My build environment may or may not be capable of
> doing the gettext things, but I choose not to use it in my build
> result" but NO_MSGFMT is simply "I do not have the msgfmt tool".
> 
> Having to specify both is rather unfortunate and we may want to
> streamline this.
I guess it's not required!

-- 
Kaartic


Re: Help needed for solving a few issues with building git

2017-07-03 Thread Junio C Hamano
Junio C Hamano  writes:

>> While trying to build (without the 'gettext' library that's required
>> for localization) I get the following error,
>>
>> Manifying 8 pod documents
>> SUBDIR templates
>> MSGFMT po/build/locale/pt_PT/LC_MESSAGES/git.mo
>> /bin/sh: 1: msgfmt: not found
>> Makefile:2179: recipe for target
>> 'po/build/locale/pt_PT/LC_MESSAGES/git.mo' failed
>> make: *** [po/build/locale/pt_PT/LC_MESSAGES/git.mo] Error 127
>>
>> What could I be missing?
>
> There is
>
> ifndef NO_GETTEXT
> all:: $(MOFILES)
> endif
>
> which attempts to avoid generating *.mo files, but that does not
> seem to be working.

The above comes from one of the Tcl things (probably gitk-git)
For now

$ make NO_GETTEXT=1 NO_MSGFMT=1

may help.

NO_GETTEXT is "My build environment may or may not be capable of
doing the gettext things, but I choose not to use it in my build
result" but NO_MSGFMT is simply "I do not have the msgfmt tool".

Having to specify both is rather unfortunate and we may want to
streamline this.


Re: Help needed for solving a few issues with building git

2017-07-03 Thread Junio C Hamano
Kaartic Sivaraam  writes:

> Hello all,
>
> Building without localization support
> 
> I tried to build git from source without localization support by adding
> the following line to the Makefile,
>
> NO_GETTEXT=1
>
> It doesn't seem to be working for reasons I'm unable to find. I used
> the following commands to build git.
>
> make prefix=$CUSTOM_BUILD_LOCATION
> make install prefix=$CUSTOM_BUILD_LOCATION
>
> While trying to build (without the 'gettext' library that's required
> for localization) I get the following error,
>
> Manifying 8 pod documents
> SUBDIR templates
> MSGFMT po/build/locale/pt_PT/LC_MESSAGES/git.mo
> /bin/sh: 1: msgfmt: not found
> Makefile:2179: recipe for target
> 'po/build/locale/pt_PT/LC_MESSAGES/git.mo' failed
> make: *** [po/build/locale/pt_PT/LC_MESSAGES/git.mo] Error 127
>
> What could I be missing?

There is

ifndef NO_GETTEXT
all:: $(MOFILES)
endif

which attempts to avoid generating *.mo files, but that does not
seem to be working.

>
>
> Adding HTTPS support
> 
> I tried to add HTTP/HTTPS support to the custom built version for which
> AFAIK 'git' depends on 'curl'. I tried providing the location of the
> curl source in the Makefile using the following line after reading the
> instructions in the Makefile.
>
> CURLDIR=/path/to/curl/source

Shouldn't this point at an installed location (iow, we do not build
curl from the source while building Git)?

# Define CURLDIR=/foo/bar if your curl header and library files are in
# /foo/bar/include and /foo/bar/lib directories.


> Even after doing this the custom built git errors with the following
> message when I try to use the 'git fetch' command,
>
> fatal: Unable to find remote helper for 'https'

This is probably because you are trying to run without installing?
Ask the "git" you built what its --exec-path is, and run "ls" on
that directory to see if you have git-remote-https installed?

Trying a freshly built Git binaries without installing is done by
setting GIT_EXEC_PATH to point at bin-wrappers/ directory at the
top-level of your build tree (that is how our tests can run on an
otherwise virgin box with no Git installed).


Re: Help needed for solving a few issues with building git

2017-07-03 Thread Torsten Bögershausen
On 2017-07-03 15:18, Kaartic Sivaraam wrote:
> Hello all,
> 
> Building without localization support
> 
> I tried to build git from source without localization support by adding
> the following line to the Makefile,
> 
> NO_GETTEXT=1
> 

May be

make NO_GETTEXT=yes


Re: Help with vger's rules, was Re: [ANNOUNCE] Git for Windows 2.10.2

2016-11-03 Thread Johannes Schindelin
Hi Peff,

On Thu, 3 Nov 2016, Jeff King wrote:

> On Thu, Nov 03, 2016 at 11:34:53AM -0400, Jeff King wrote:
> 
> > This is missing a Content-Transfer-Encoding. I think the default is the
> > traditional 7-bit ascii encoding, but your body has characters with the
> > high-bit set (your UTF-8 bullet).
> > 
> > Try adding:
> > 
> >   Content-Transfer-Encoding: 8bit
> > 
> > I haven't seen this before, but I do recall that vger's MTA is very
> > picky about this and wants to rewrite transfer-encodings, so it seems
> > plausible.
> 
> Technically, I think you'd also need a:
> 
>   MIME-Version: 1.0
> 
> header.

That seems to have done the trick, thank you so much!

Ciao,
Dscho


Re: Help with vger's rules, was Re: [ANNOUNCE] Git for Windows 2.10.2

2016-11-03 Thread Jeff King
On Thu, Nov 03, 2016 at 11:38:45AM -0400, Jeff King wrote:

> On Thu, Nov 03, 2016 at 11:34:53AM -0400, Jeff King wrote:
> 
> > This is missing a Content-Transfer-Encoding. I think the default is the
> > traditional 7-bit ascii encoding, but your body has characters with the
> > high-bit set (your UTF-8 bullet).
> > 
> > Try adding:
> > 
> >   Content-Transfer-Encoding: 8bit
> > 
> > I haven't seen this before, but I do recall that vger's MTA is very
> > picky about this and wants to rewrite transfer-encodings, so it seems
> > plausible.
> 
> Technically, I think you'd also need a:
> 
>   MIME-Version: 1.0
> 
> header. That being said, I just peeked at the send-email code and it
> looks like we try to add in these headers as necessary. It's possible
> there's a bug, though. What does "git send-email --dry-run" say is in
> the headers it sends out?

Answering my own question, it looks like send-email gets confused when
you give a content-type but no content-transfer-encoding. It wants to
fill in both or neither.

This probably helps:

diff --git a/git-send-email.perl b/git-send-email.perl
index da81be40c..784bb874b 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -1568,11 +1568,13 @@ foreach my $t (@files) {
push @cc, recipients_cmd("cc-cmd", "cc", $cc_cmd, $t)
if defined $cc_cmd && !$suppress_cc{'cccmd'};
 
-   if ($broken_encoding{$t} && !$has_content_type) {
+   if ($broken_encoding{$t}) {
$xfer_encoding = '8bit' if not defined $xfer_encoding;
-   $has_content_type = 1;
-   push @xh, "Content-Type: text/plain; 
charset=$auto_8bit_encoding";
-   $body_encoding = $auto_8bit_encoding;
+   if (!$has_content_type) {
+   $has_content_type = 1;
+   push @xh, "Content-Type: text/plain; 
charset=$auto_8bit_encoding";
+   $body_encoding = $auto_8bit_encoding;
+   }
}
 
if ($broken_encoding{$t} && !is_rfc2047_quoted($subject)) {

but I think there is more cleanup to handle this case (e.g., it
auto-guesses utf-8, but it should pull the value from the existing
content-type header).

-Peff


Re: Help with vger's rules, was Re: [ANNOUNCE] Git for Windows 2.10.2

2016-11-03 Thread Jeff King
On Thu, Nov 03, 2016 at 11:34:53AM -0400, Jeff King wrote:

> This is missing a Content-Transfer-Encoding. I think the default is the
> traditional 7-bit ascii encoding, but your body has characters with the
> high-bit set (your UTF-8 bullet).
> 
> Try adding:
> 
>   Content-Transfer-Encoding: 8bit
> 
> I haven't seen this before, but I do recall that vger's MTA is very
> picky about this and wants to rewrite transfer-encodings, so it seems
> plausible.

Technically, I think you'd also need a:

  MIME-Version: 1.0

header. That being said, I just peeked at the send-email code and it
looks like we try to add in these headers as necessary. It's possible
there's a bug, though. What does "git send-email --dry-run" say is in
the headers it sends out?

-Peff


Re: Help with vger's rules, was Re: [ANNOUNCE] Git for Windows 2.10.2

2016-11-03 Thread Jeff King
On Thu, Nov 03, 2016 at 04:15:05PM +0100, Johannes Schindelin wrote:

> When it finally sent out the mail, and I thought everything was alright,
> thinking that I could turn out for the night with a well-deserved drink, I
> got this from vger.kernel.org:
> 
> -- snip --
> SMTP error from remote server for TEXT command, host: vger.kernel.org 
> (209.132.180.67) reason: 550 5.7.1 Content-Policy reject msg: Wrong MIME 
> labeling on 8-bit character texts.
> -- snap --
> 
> Is there *anybody* who could give me a clue what this means?

That's a new one for me. One guess, though...

> For the record, I tried to use `git send-email` to send out the
> announcement for the very first time, and the headers of the mbox file I
> fed to that command read thusly:
> 
> -- snip --
> From 2.10.2.windows.1 Mon Sep 17 00:00:00 2001
> From: Johannes Schindelin 
> Date: Wed, 02 Nov 2016 21:43:54 +0100
> To: git-for-wind...@googlegroups.com, git@vger.kernel.org
> Subject: [ANNOUNCE] Git for Windows 2.10.2
> Content-Type: text/plain; charset=UTF-8
> Fcc: Sent
> -- snap --

This is missing a Content-Transfer-Encoding. I think the default is the
traditional 7-bit ascii encoding, but your body has characters with the
high-bit set (your UTF-8 bullet).

Try adding:

  Content-Transfer-Encoding: 8bit

I haven't seen this before, but I do recall that vger's MTA is very
picky about this and wants to rewrite transfer-encodings, so it seems
plausible.

-Peff


Re: Help with vger's rules, was Re: [ANNOUNCE] Git for Windows 2.10.2

2016-11-03 Thread Junio C Hamano
Johannes Schindelin  writes:

> thinking that I could turn out for the night with a well-deserved drink, I
> got this from vger.kernel.org:
>
> -- snip --
> SMTP error from remote server for TEXT command, host: vger.kernel.org 
> (209.132.180.67) reason: 550 5.7.1 Content-Policy reject msg: Wrong MIME 
> labeling on 8-bit character texts.
> -- snap --
>
> Is there *anybody* who could give me a clue what this means?

Have you tried postmaster (at vger.kernel.org)?

>
> For the record, I tried to use `git send-email` to send out the
> announcement for the very first time, and the headers of the mbox file I
> fed to that command read thusly:
>
> -- snip --
> From 2.10.2.windows.1 Mon Sep 17 00:00:00 2001
> From: Johannes Schindelin 
> Date: Wed, 02 Nov 2016 21:43:54 +0100
> To: git-for-wind...@googlegroups.com, git@vger.kernel.org
> Subject: [ANNOUNCE] Git for Windows 2.10.2
> Content-Type: text/plain; charset=UTF-8
> Fcc: Sent
> -- snap --
>
> The only problem I could *possibly* imagine is this UTF-8 bullet character
> used in the enumerations in the mail body:
>
>• [...]

The above header you showed says "Content-type: text/plain;
charset=UTF-8" and I am hoping that this response to you will go out
with that labelling back to vger, so we will hopefully see if that
bullet is the culprit (I doubt it, though).  I have no specific
suspect at this point yet, other than "somebody that gets your
message from send-email and passes to vger may be mangling it".



Re: Help debugging git-svn

2015-12-18 Thread Edmundo Carmona Antoranz
On Fri, Dec 18, 2015 at 11:28 AM, Edmundo Carmona Antoranz
 wrote:
> Ok I came up with another idea to avoid having to deal with the
> old svn history (I'm having no problems fetching/dcommitting with my
> current repo). I already have the branches I work with, the thing is
> that the revisions I fetched before I started using the svn authors
> file have nasty IDs instead of human names. I though that I could
> create a script to rewrite the whole history of the project adjusting
> the usernames to real names (I'll take care of the details, no problem
> there... just found out about filter-branch, could work for what I'm
> thinking of). My question would be in the direction of rebuilding
> git-svn metainfo once I'm done so that I can continue fetching from
> svn as if nothing had happened. I checked the documentation in
> git-scm.com but didn't find the details about it. Is there a
> straight-forward document that explains how the git-svn metadata files
> are built?
>
> Thanks in advance.

.rev_map files appear to be simple enough. I'll have fun with them a
little bit. Will let you know how it goes later (don't hold your
breath it might take a while).
--
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: Help debugging git-svn

2015-12-18 Thread Edmundo Carmona Antoranz
Ok I came up with another idea to avoid having to deal with the
old svn history (I'm having no problems fetching/dcommitting with my
current repo). I already have the branches I work with, the thing is
that the revisions I fetched before I started using the svn authors
file have nasty IDs instead of human names. I though that I could
create a script to rewrite the whole history of the project adjusting
the usernames to real names (I'll take care of the details, no problem
there... just found out about filter-branch, could work for what I'm
thinking of). My question would be in the direction of rebuilding
git-svn metainfo once I'm done so that I can continue fetching from
svn as if nothing had happened. I checked the documentation in
git-scm.com but didn't find the details about it. Is there a
straight-forward document that explains how the git-svn metadata files
are built?

Thanks in advance.

On Wed, Dec 16, 2015 at 6:36 AM, Edmundo Carmona Antoranz
 wrote:
> On Wed, Dec 16, 2015 at 1:41 AM, Eric Wong  wrote:
>>
>> Any chance you can reproduce this on a Linux system?
>> I do not use non-Free systems and have no debugging experience
>> there at all.
>>
>
> My wish But it's a big resounding "no".
>
>>> With my very flawed knowledge of perl I have seen that the process is
>>> getting to Ra.pm around here:
>>
>> It could also be a bug in the SVN bindings or the port of
>> Perl.  Which versions are you running?
>
> I'm working on git for windows 2.6.3. I think I could use cygwin, just
> in case (I used it before).
>
>>
>>
>> I've also been wondering about the motivation of SVN developers to do a
>> good job on maintaining their Perl bindings (given git-svn is likely the
>> main user of them).
>> We've certainly had problems in the past with SVN breaking and
>> causing git-svn to segfault around 2011-2012; but it's been a while...
--
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: Help debugging git-svn

2015-12-16 Thread Edmundo Carmona Antoranz
On Wed, Dec 16, 2015 at 1:41 AM, Eric Wong  wrote:
>
> Any chance you can reproduce this on a Linux system?
> I do not use non-Free systems and have no debugging experience
> there at all.
>

My wish But it's a big resounding "no".

>> With my very flawed knowledge of perl I have seen that the process is
>> getting to Ra.pm around here:
>
> It could also be a bug in the SVN bindings or the port of
> Perl.  Which versions are you running?

I'm working on git for windows 2.6.3. I think I could use cygwin, just
in case (I used it before).

>
>
> I've also been wondering about the motivation of SVN developers to do a
> good job on maintaining their Perl bindings (given git-svn is likely the
> main user of them).
> We've certainly had problems in the past with SVN breaking and
> causing git-svn to segfault around 2011-2012; but it's been a while...
--
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: Help debugging git-svn

2015-12-15 Thread Eric Wong
Edmundo Carmona Antoranz  wrote:
> 1 [main] perl 5652 cygwin_exception::open_stackdumpfile: Dumping stack
> trace to perl.exe.stackdump
> 
> And then, in the file:
> 
> Exception: STATUS_ACCESS_VIOLATION at rip=0048360C10C
> rax=000601E4BFF8 rbx=5219E248 rcx=00060003A590
> rdx= rsi=A950 rdi=0004
> r8 = r9 = r10=0023
> r11=00048D78607A r12=0003 r13=06F54A98
> r14=000601E18030 r15=06F54AB0
> rbp=00054A88 rsp=0022B810
> program=C:\Program Files\Git\usr\bin\perl.exe, pid 5652, thread main
> cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B

Any chance you can reproduce this on a Linux system?
I do not use non-Free systems and have no debugging experience
there at all.

> With my very flawed knowledge of perl I have seen that the process is
> getting to Ra.pm around here:

It could also be a bug in the SVN bindings or the port of
Perl.  Which versions are you running?


I've also been wondering about the motivation of SVN developers to do a
good job on maintaining their Perl bindings (given git-svn is likely the
main user of them).
We've certainly had problems in the past with SVN breaking and
causing git-svn to segfault around 2011-2012; but it's been a while...
--
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: Help with Getting started to Contribute

2015-04-30 Thread Matthieu Moy
karthik nayak  writes:

> There is also Junio's Blog where he keeps a list of things to be done
>
> http://git-blame.blogspot.de/p/leftover-bits.html

I'd add this: https://git.wiki.kernel.org/index.php/SmallProjectsIdeas

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
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: Help with Getting started to Contribute

2015-04-28 Thread karthik nayak

Hello Tummala,

On 04/28/2015 07:15 PM, Tummala Dhanvi wrote:

Hi ,

I would like to contribute to git.

Can you guys point me to some useful resources to get me started to
contribute to git.


I suggest you go through the Documentation, especially 
"Documentation/CodingGuidelines" and "Documentation/SubmittingPatches" 
to get an idea of the workflow and guidelines for contributing to Git.




Also does git have something like junior jobs so that It can be done
by new to contribution.


All issues and bugs are discussed on the mailing list, so keep going 
through the list for potential problems.


There is also Junio's Blog where he keeps a list of things to be done

http://git-blame.blogspot.de/p/leftover-bits.html

You could pick something from there and work on that.

Have Fun.

Regards,
Karthik


Also searching about the git in google points to some other
organisation which uses git  :((well this is because of the
popularity of the git)
--
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




--
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: Help needed: Tests failed While replacing char array with strbuf in bulk-checkin.c

2014-03-03 Thread Eric Sunshine
On Mon, Mar 3, 2014 at 4:11 PM, saikrishna.sripada
 wrote:
> I am trying do complete the microproject 4, inorder to apply to GSOC.
> I have made the below changes:
>
> https://gist.github.com/anhsirksai/9334565
>
> Post my changes compilation is succes in the source directory.
> But when I ran the tests[make in t/ directory] my tests are failing saying
>
> "
>  free(): invalid pointer: 0x3630376532353636 ***
> === Backtrace: =
> /lib/x86_64-linux-gnu/libc.so.6(+0x7eb96)[0x2b5f3b540b96]
> /home/saikrishna/Desktop/libcloud-0.14.1/sai/git/git[0x4fb829]
> /home/saikrishna/Desktop/libcloud-0.14.1/sai/git/git[0x47d425]
> /home/saikrishna/Desktop/libcloud-0.14.1/sai/git/git[0x4064ad]
> /home/saikrishna/Desktop/libcloud-0.14.1/sai/git/git[0x405a04]
> /home/saikrishna/Desktop/libcloud-0.14.1/sai/git/git[0x404cbd]
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x2b5f3b4e376d]
> /home/saikrishna/Desktop/libcloud-0.14.1/sai/git/git[0x405109]
> "
>
> Can some one please help me with the memory allacation and strbuf_release()

Read the microproject text carefully and _fully_. It provides the clue
you need to understand the problem.

Rewrite bulk-checkin.c:finish_bulk_checkin() to use a strbuf for
handling packname, and explain why this is useful. Also check if
the first argument of pack-write.c:finish_tmp_packfile() can be
made const.

If, after making a closer examination of the mentioned functions, the
problem still eludes you, ask here again.
--
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: Help creating git alias

2013-10-31 Thread Eugene Sajine
On Thu, Oct 31, 2013 at 3:41 PM, Junio C Hamano  wrote:
> Eugene Sajine  writes:
>
>> One note: i tried the ${GIT_PREFIX:-.}  and ${GIT_PREFIX} and it seems
>> to give the same results. What is the expected difference here?
>
> GIT_PREFIX may be an empty string when you run from the top-level,
> in which case you would end up with "cd && ..." and end up working
> in your $HOME.
>


got it! thank you!

Eugene
--
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: Help creating git alias

2013-10-31 Thread Junio C Hamano
Eugene Sajine  writes:

> One note: i tried the ${GIT_PREFIX:-.}  and ${GIT_PREFIX} and it seems
> to give the same results. What is the expected difference here?

GIT_PREFIX may be an empty string when you run from the top-level,
in which case you would end up with "cd && ..." and end up working
in your $HOME.

--
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: Help creating git alias

2013-10-31 Thread Eugene Sajine
On Thu, Oct 31, 2013 at 2:15 PM, David Aguilar  wrote:
> On Thu, Oct 31, 2013 at 11:07:19AM -0700, Junio C Hamano wrote:
>> David Aguilar  writes:
>>
>> > A-ha.. I think adding the chdir to alias is possible using a function.
>>
>> You do not have to use a function to do so, no?
>
> Right, of course.
>
> So something like:
>
> [alias]
> example = "!cd ${GIT_PREFIX:-.} && git log \"$@\""
>
> should do the trick.
> --
> David


Awesome! It does work!
One note: i tried the ${GIT_PREFIX:-.}  and ${GIT_PREFIX} and it seems
to give the same results. What is the expected difference here?

Thank you!
--
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: Help creating git alias

2013-10-31 Thread David Aguilar
On Thu, Oct 31, 2013 at 11:07:19AM -0700, Junio C Hamano wrote:
> David Aguilar  writes:
> 
> > A-ha.. I think adding the chdir to alias is possible using a function.
> 
> You do not have to use a function to do so, no?

Right, of course.

So something like:

[alias]
example = "!cd ${GIT_PREFIX:-.} && git log \"$@\""

should do the trick.
-- 
David
--
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: Help creating git alias

2013-10-31 Thread Junio C Hamano
David Aguilar  writes:

> A-ha.. I think adding the chdir to alias is possible using a function.

You do not have to use a function to do so, no?
--
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: Help creating git alias

2013-10-31 Thread David Aguilar
On Thu, Oct 31, 2013 at 11:36:59AM -0400, Eugene Sajine wrote:
> On Wed, Oct 30, 2013 at 11:54 PM, Junio C Hamano  wrote:
> > Eugene Sajine  writes:
> >
> >> That was my initial intention, because I would like to be able to pass
> >> parameters like to git log or git blame correctly without the explicit
> >> use of $1. Could you please advise about how to make it work with the
> >> !sh -c ?
> >>
> >> Because the same exact (sed 's/@\\S*//') syntax didn't work with "sh -c".
> >
> > You can make it work if you think step-by-step.  First, this is what
> > you want to run:
> >
> > sh -c 'git log --format="..." "$@" | sed "s/@\S*//"' -
> >
> > so that "git euguess master..next" would turn into
> >
> > sh -c 'git log --format="..." "$@" | sed "s/@\S*//"' - master..next
> >
> > Now, you want to wrap it into an alias, i.e.
> >
> > [alias]
> > euguess = "!sh -c ..."
> >
> > That ... part is read by our configuration reader, so you need to
> > quote the double quotes and backslashes with backslash, which would
> > give you something like:
> >
> > [alias]
> > euguess = "!sh -c 'git log --format=\"%h %ae %s\" 
> > --date=short \"$@\" | sed \"s/@\\S*//\"' -"
> >
> >
> 
> Junio,
> 
> Thanks for taking the time - I appreciate that a lot.
> It does work properly now except there is some difference between the
> required pathnames:
> 
> when i'm in a subfolder in git repo i can say
> 
> git log filename
> 
> But it seems that if the alias is used i need to specify full path
> from the root of the repo no matter where i am.
> 
> git log a/b/c/filename
> 
> the difference is obviously in the working directory
> 
> when i add an alias:
> 
> pd = "!sh -c 'pwd'"
> 
> i get this:
> 
> $ git pd
> /home/users/euguess/repo
> 
> $ pwd
> /home/users/euguess/repo/a/b/c
> 
> Is there any way to help that situation?

Here's the relevant details from Documentation/config.txt:

"""
If the alias expansion is prefixed with an exclamation point,
it will be treated as a shell command.  For example, defining
"alias.new = !gitk --all --not ORIG_HEAD", the invocation
"git new" is equivalent to running the shell command
"gitk --all --not ORIG_HEAD".  Note that shell commands will be
executed from the top-level directory of a repository, which may
not necessarily be the current directory.

'GIT_PREFIX' is set as returned by running 'git rev-parse --show-prefix'
from the original current directory. See linkgit:git-rev-parse[1].
"""

The $GIT_PREFIX variable should be available to the alias; it is
a path relative to the root which corresponds to the current
directory.

That doesn't quite play well with these aliases because they use
"$@", though.

One way to do it is to add another layer of indirection.  Maybe
someone else on this list has a better suggestion, but this
should do the trick...

Create a shell script to contain your alias, and then point
your alias at it.  e.g.

[alias]
example = "!/path/to/alias-script \"$@\""

and then the script can look like:

#!/bin/sh

unset CDPATH
if test -n "$GIT_PREFIX"
then
cd "$GIT_PREFIX"
fi
git log --format='%h %ae %s' --date=short "$@" | sed 's/@\\S*//'


...or something like that.  I hope that helps.
I'm also curious if there's a way to avoid needing the extra script...

...

A-ha.. I think adding the chdir to alias is possible using a function.

[alias]
example = "!f() { cd \"${GIT_PREFIX:-.}\" && git log \"$@\"; }; f"

Does that work for you?
I hope that helps.

cheers,
-- 
David
--
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: Help creating git alias

2013-10-31 Thread Eugene Sajine
On Wed, Oct 30, 2013 at 11:54 PM, Junio C Hamano  wrote:
> Eugene Sajine  writes:
>
>> That was my initial intention, because I would like to be able to pass
>> parameters like to git log or git blame correctly without the explicit
>> use of $1. Could you please advise about how to make it work with the
>> !sh -c ?
>>
>> Because the same exact (sed 's/@\\S*//') syntax didn't work with "sh -c".
>
> You can make it work if you think step-by-step.  First, this is what
> you want to run:
>
> sh -c 'git log --format="..." "$@" | sed "s/@\S*//"' -
>
> so that "git euguess master..next" would turn into
>
> sh -c 'git log --format="..." "$@" | sed "s/@\S*//"' - master..next
>
> Now, you want to wrap it into an alias, i.e.
>
> [alias]
> euguess = "!sh -c ..."
>
> That ... part is read by our configuration reader, so you need to
> quote the double quotes and backslashes with backslash, which would
> give you something like:
>
> [alias]
> euguess = "!sh -c 'git log --format=\"%h %ae %s\" 
> --date=short \"$@\" | sed \"s/@\\S*//\"' -"
>
>

Junio,

Thanks for taking the time - I appreciate that a lot.
It does work properly now except there is some difference between the
required pathnames:

when i'm in a subfolder in git repo i can say

git log filename

But it seems that if the alias is used i need to specify full path
from the root of the repo no matter where i am.

git log a/b/c/filename

the difference is obviously in the working directory

when i add an alias:

pd = "!sh -c 'pwd'"

i get this:

$ git pd
/home/users/euguess/repo

$ pwd
/home/users/euguess/repo/a/b/c

Is there any way to help that situation?

Thanks,
Eugene

Thanks,
Eugene
--
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: Help creating git alias

2013-10-30 Thread Junio C Hamano
Eugene Sajine  writes:

> That was my initial intention, because I would like to be able to pass
> parameters like to git log or git blame correctly without the explicit
> use of $1. Could you please advise about how to make it work with the
> !sh -c ?
>
> Because the same exact (sed 's/@\\S*//') syntax didn't work with "sh -c".

You can make it work if you think step-by-step.  First, this is what
you want to run:

sh -c 'git log --format="..." "$@" | sed "s/@\S*//"' -

so that "git euguess master..next" would turn into

sh -c 'git log --format="..." "$@" | sed "s/@\S*//"' - master..next

Now, you want to wrap it into an alias, i.e.

[alias]
euguess = "!sh -c ..."

That ... part is read by our configuration reader, so you need to
quote the double quotes and backslashes with backslash, which would
give you something like:

[alias]
euguess = "!sh -c 'git log --format=\"%h %ae %s\" --date=short 
\"$@\" | sed \"s/@\\S*//\"' -"


--
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: Help creating git alias

2013-10-30 Thread Eugene Sajine
On Wed, Oct 30, 2013 at 5:02 PM, Junio C Hamano  wrote:
> Eugene Sajine  writes:
>
>> On Wed, Oct 30, 2013 at 3:57 PM, Ralf Thielow  wrote:
>>> lg=!git log --pretty=format:'%h %ad %ae %s' --date=short | sed 's/@\\S*//g'
>>>
>>> should work.
>>
>>
>> It did! thanks! I didn't know that "!sh -c" is not needed
>
> "sh -c" is often used when you pass arguments to your scriptlets,
> e.g. to allow
>
> git lg master..next
>
> you would want
>
> sh -c 'git log ... "$@" | sed ...' -
>
> so that
>
> git lg master..next
>
> turns into
>
> sh -c 'git log ... "$@" | sed ...' - master..next
>
> which makes $1="master..next" and fed to "git log".

Junio,

That was my initial intention, because I would like to be able to pass
parameters like to git log or git blame correctly without the explicit
use of $1. Could you please advise about how to make it work with the
!sh -c ?

Because the same exact (sed 's/@\\S*//') syntax didn't work with "sh -c".

Thanks,
Eugene
--
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: Help creating git alias

2013-10-30 Thread Junio C Hamano
Eugene Sajine  writes:

> On Wed, Oct 30, 2013 at 3:57 PM, Ralf Thielow  wrote:
>> lg=!git log --pretty=format:'%h %ad %ae %s' --date=short | sed 's/@\\S*//g'
>>
>> should work.
>
>
> It did! thanks! I didn't know that "!sh -c" is not needed

"sh -c" is often used when you pass arguments to your scriptlets,
e.g. to allow

git lg master..next

you would want

sh -c 'git log ... "$@" | sed ...' -

so that

git lg master..next

turns into

sh -c 'git log ... "$@" | sed ...' - master..next

which makes $1="master..next" and fed to "git log".
--
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: Help creating git alias

2013-10-30 Thread Eugene Sajine
On Wed, Oct 30, 2013 at 3:57 PM, Ralf Thielow  wrote:
> lg=!git log --pretty=format:'%h %ad %ae %s' --date=short | sed 's/@\\S*//g'
>
> should work.


It did! thanks! I didn't know that "!sh -c" is not needed

>
> On Wed, Oct 30, 2013 at 8:34 PM, Eugene Sajine  wrote:
>> Hi,
>>
>> I need some advice about creating the git command alias:
>>
>> I have this as the command:
>>
>> git log --pretty=format:"%h %ad %ae %s" --date=short | sed 's/@\S*//g'
>>
>>
>> The purpose is to cut off the email domain and keep only username.
>>
>> I'm trying to create this as the alias:
>>
>>
>> lg = !sh -c 'git log --pretty=format:"%h %ad %ae %s" --date=short |
>> sed 's/@\S*//g'' -
>>
>> but it complains about the \S and i'm failing to come up with the
>> escape sequence to make it work right.
>>
>> I know i can work around that by creating shell alias, but it is not
>> what i would like to have.
>>
>> Any ideas?
>>
>> Thanks!
>> --
>> 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
--
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: Help creating git alias

2013-10-30 Thread Ralf Thielow
lg=!git log --pretty=format:'%h %ad %ae %s' --date=short | sed 's/@\\S*//g'

should work.

On Wed, Oct 30, 2013 at 8:34 PM, Eugene Sajine  wrote:
> Hi,
>
> I need some advice about creating the git command alias:
>
> I have this as the command:
>
> git log --pretty=format:"%h %ad %ae %s" --date=short | sed 's/@\S*//g'
>
>
> The purpose is to cut off the email domain and keep only username.
>
> I'm trying to create this as the alias:
>
>
> lg = !sh -c 'git log --pretty=format:"%h %ad %ae %s" --date=short |
> sed 's/@\S*//g'' -
>
> but it complains about the \S and i'm failing to come up with the
> escape sequence to make it work right.
>
> I know i can work around that by creating shell alias, but it is not
> what i would like to have.
>
> Any ideas?
>
> Thanks!
> --
> 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
--
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: Help creating git alias

2013-10-30 Thread Eugene Sajine
On Wed, Oct 30, 2013 at 3:47 PM, Andrew Ardill  wrote:
> Have you tried backslash escaping the backslash? double escaping?
>
> I don't know how many are required, but I would try first \S, then
> \\S, then S, etc
> Regards,
>
> Andrew Ardill

When i do that it stops understanding \S* as regexp so it removes only
"@", while i need to remove from @ to the next whitespace

Thanks,
Eugene



>
> On 30 October 2013 12:34, Eugene Sajine  wrote:
>> Hi,
>>
>> I need some advice about creating the git command alias:
>>
>> I have this as the command:
>>
>> git log --pretty=format:"%h %ad %ae %s" --date=short | sed 's/@\S*//g'
>>
>>
>> The purpose is to cut off the email domain and keep only username.
>>
>> I'm trying to create this as the alias:
>>
>>
>> lg = !sh -c 'git log --pretty=format:"%h %ad %ae %s" --date=short |
>> sed 's/@\S*//g'' -
>>
>> but it complains about the \S and i'm failing to come up with the
>> escape sequence to make it work right.
>>
>> I know i can work around that by creating shell alias, but it is not
>> what i would like to have.
>>
>> Any ideas?
>>
>> Thanks!
>> --
>> 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
--
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: Help creating git alias

2013-10-30 Thread Andrew Ardill
Have you tried backslash escaping the backslash? double escaping?

I don't know how many are required, but I would try first \S, then
\\S, then S, etc
Regards,

Andrew Ardill


On 30 October 2013 12:34, Eugene Sajine  wrote:
> Hi,
>
> I need some advice about creating the git command alias:
>
> I have this as the command:
>
> git log --pretty=format:"%h %ad %ae %s" --date=short | sed 's/@\S*//g'
>
>
> The purpose is to cut off the email domain and keep only username.
>
> I'm trying to create this as the alias:
>
>
> lg = !sh -c 'git log --pretty=format:"%h %ad %ae %s" --date=short |
> sed 's/@\S*//g'' -
>
> but it complains about the \S and i'm failing to come up with the
> escape sequence to make it work right.
>
> I know i can work around that by creating shell alias, but it is not
> what i would like to have.
>
> Any ideas?
>
> Thanks!
> --
> 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
--
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: Help with sparse checkouts

2013-08-12 Thread Duy Nguyen
On Tue, Aug 13, 2013 at 1:27 AM, Ari Entlich  wrote:
> Hello all!
>
> At my current workplace, I have a git-svn repository which has an extremely 
> large working directory. I did not use the --stdlayout option in this clone, 
> so I have a number of branches in my working directory which duplicate large 
> amounts of trunk. There is a particularly large subdirectory which has now 
> been copied to branches four times (and hence shows up in my working 
> directory 5 times). This directory and its copies are making up the vast 
> majority of the files and storage space in my working directory. Furthermore, 
> I do not need or want to have access to the data in these particular 
> directories. Hence, I would like to use the sparse checkouts feature to 
> exclude them from my working directory.
>
> Let's say that these directories are all called "thedir". What I would like 
> to do with the sparse checkouts feature is to simply ignore directories with 
> this name anywhere in the working tree. Intuitively, it seems like I should 
> be able to put:
>
> !thedir
>
> or possibly
>
> !thedir/
>

I think this should work (but I haven't tested it)

/
!thedir

The first rule is to include all, the we exclude what we don't want
using the second one (trailing slash or not is ok).

> in the sparse-checkout file, but these don't seem to work. I've tried a 
> number of other things, but I always seem to either get the "sparse checkout 
> leaves no entry on working directory" error or no effect at all. In the end, 
> I basically just don't really understand how this file is supposed to work, 
> so I'd rather get some expert help here rather than thrashing about randomly. 
> I realize that sparse checkouts is usually used to select a specific 
> directory rather than what I'm trying to do, so I accept that what I want may 
> simply not be possible with the current implementation. I've asked on IRC, 
> but I wanted to ask here also since it seemed that most of the people I 
> talked to weren't that familiar with the sparse checkouts feature.
>
> Note that, while using --stdlayout would mitigate the massive working 
> directory somewhat, I would still probably want to exclude this directory 
> from my worktree. I will probably do a reclone at some point and use 
> --stdlayout, but I will still want to exclude this particular directory even 
> at that point. I had a lot of people on IRC telling me to just use 
> --stdlayout, which was a good suggestion, but didn't fully fulfill my needs.
>
> Thanks!
>
> Ari
> --
> 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



-- 
Duy
--
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: Help using git subtree

2013-07-30 Thread Gabriel Jover

Al 30/07/13 11:58, En/na Fredrik Gustafsson ha escrit:


Git subtree is very convenient to get all the sub-projects into the
main-project directory tree
and to send back sub-project commits to the corresponding repository.
But I don't understand the work flow very well.

I haven't used subtree that much however how do you commit to upstream?
AFAIK every commit to the subtree must be done in the subtree branch and
then merged back to the "superproject"-branch with a subtree merge.

I use "git subtree pull" and "git subtree push".
AFAIK with subtree all commits are in the same repository, thus one does 
not need
to go to the subtree branch to commit. This is one of the advantages of 
subtree.



I can add a subtree with a given prefix and pull/push my commits to
the repository,
but how do I do to pull/push commits from the main-project to the
corresponding repository
avoiding sub-projects to be sent?

You don't. A subtree is a subtree in your git-repo and is therefore a
part of your repository. When you're using subtree that project will be
a part of you project.

I expected that there would be a way to split the main project and push it,
in the same way that one can split one subtree and push it.
If not, this could be a feature request.


An other question I have is when will be subtree included in git packages.
I had to compile git from sources in order to get this feature.


If you're asking when git-subtree will move from contrib/ to core git, I
don't know. That's a decision for Junio. I would argue that it shouldn't
because submodules can do everything that subtrees are good at and
git.git should focus on doing one solution well instead of doing the
same thing in two bad ways. However since git.git already uses a
subtree-like style for gitk, git-gui, etc.  it doesn't seem like Junio
agrees with me on this point.

Right, I rephrase: When git-subtree will move from contrib/ to core git?

Let me also empathize that I find git-subtree much more convenient than 
sub-modules.
One can work with a single repository as it were a single project, one 
can commit changes
that affect different sub-projects with just one command, use common 
tags and branches and so on.



Si heu rebut aquest correu per error, us informo que pot contenir informació 
confidencial i privada i que està prohibit el seu ús. Us agrairiem que ho 
comuniqueu al remitent i l'elimineu. Gràcies.
Si ha recibido este correo por error, le informo de que puede contener 
información confidencial  y privada y que está prohibido su uso. Le agradeceré 
que lo comunique a su remitente y lo elimine. Gracias.
If you have received  this e-mail by error, please note that it may contain 
confidential and private  information, therefore, the use of this information 
is strictly forbidden. Please inform the sender of the error and delete the 
information received. Thank you.

Is this really something to have in e-mails to a public list? Some lists
won't accept this type of e-mails, or simply just ignore you.

Don't worry about this signature, it only applies if one receives this 
e-mail by mistake.


Best regards,

Gabriel

--


Si heu rebut aquest correu per error, us informo que pot contenir informació 
confidencial i privada i que està prohibit el seu ús. Us agrairiem que ho 
comuniqueu al remitent i l'elimineu. Gràcies.
Si ha recibido este correo por error, le informo de que puede contener 
información confidencial  y privada y que está prohibido su uso. Le agradeceré 
que lo comunique a su remitente y lo elimine. Gracias.
If you have received  this e-mail by error, please note that it may contain 
confidential and private  information, therefore, the use of this information 
is strictly forbidden. Please inform the sender of the error and delete the 
information received. Thank you.

--
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: Help using git subtree

2013-07-30 Thread Fredrik Gustafsson
On Tue, Jul 30, 2013 at 11:32:22AM +0200, Gabriel Jover wrote:
> Dear all,
> 
> I am trying to avoid using git submodules and thus I am testing if
> git subtree fit my needs.
> I have a set of sub-projects linked to a main-project.

Just out of curiosity, why are you trying to avoid submodules?

> 
> Git subtree is very convenient to get all the sub-projects into the
> main-project directory tree
> and to send back sub-project commits to the corresponding repository.
> But I don't understand the work flow very well.

I haven't used subtree that much however how do you commit to upstream?
AFAIK every commit to the subtree must be done in the subtree branch and
then merged back to the "superproject"-branch with a subtree merge.

> 
> I can add a subtree with a given prefix and pull/push my commits to
> the repository,
> but how do I do to pull/push commits from the main-project to the
> corresponding repository
> avoiding sub-projects to be sent?

You don't. A subtree is a subtree in your git-repo and is therefore a
part of your repository. When you're using subtree that project will be
a part of you project.

> 
> An other question I have is when will be subtree included in git packages.
> I had to compile git from sources in order to get this feature.
> 

git-subtree is a part of git, located in the contrib section. When your
software distribution choose to distribute that with your git-package
is not up to the git project to decide but something you need to ask
your package maintainer.

If you're asking when git-subtree will move from contrib/ to core git, I
don't know. That's a decision for Junio. I would argue that it shouldn't
because submodules can do everything that subtrees are good at and
git.git should focus on doing one solution well instead of doing the
same thing in two bad ways. However since git.git already uses a
subtree-like style for gitk, git-gui, etc.  it doesn't seem like Junio
agrees with me on this point.

> 
> Si heu rebut aquest correu per error, us informo que pot contenir informació 
> confidencial i privada i que està prohibit el seu ús. Us agrairiem que ho 
> comuniqueu al remitent i l'elimineu. Gràcies.
> Si ha recibido este correo por error, le informo de que puede contener 
> información confidencial  y privada y que está prohibido su uso. Le 
> agradeceré que lo comunique a su remitente y lo elimine. Gracias.
> If you have received  this e-mail by error, please note that it may contain 
> confidential and private  information, therefore, the use of this information 
> is strictly forbidden. Please inform the sender of the error and delete the 
> information received. Thank you.

Is this really something to have in e-mails to a public list? Some lists
won't accept this type of e-mails, or simply just ignore you.

-- 
Med vänliga hälsningar
Fredrik Gustafsson

tel: 0733-608274
e-post: iv...@iveqy.com
--
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: [HELP] Corrupted repository

2013-06-23 Thread Matthieu Moy
Junio C Hamano  writes:

> Ramkumar Ramachandra  writes:
>
>> Junio C Hamano wrote:
   $ ~/src/git
   error: object file
 .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f is empty
   error: object file
 .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f is empty
   fatal: loose object 8e6a6dda24b017915449897fcc1353a9b848fd2f (stored
 in .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f) is corrupt
>>>
>>> So fsync() and close() thought that the filesystem stored this loose
>>> object safely, but it turns out that the data is not on disk.
>>
>> Where should I start digging if I want to fix this?  Actually you just
>> need to tell me how to build reduced-case corruptions to test: I can
>> trace and figure out the rest.
>
> That is a trip in the kernel source, isn't it?  I cannot be your
> guide there.

Not necessarily. AFAICT, Git won't fsync object files by default, but
does for pack files (to make sure the pack is written before unlinking
the object files being packed):

   core.fsyncobjectfiles
   This boolean will enable fsync() when writing object files.

   This is a total waste of time and effort on a filesystem that
   orders data writes properly, but can be useful for
   filesystems that do not use journalling (traditional UNIX
   filesystems) or that only journal metadata and not file
   contents (OS X’s HFS+, or Linux ext3 with "data=writeback").


-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
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: [HELP] Corrupted repository

2013-06-21 Thread Ramkumar Ramachandra
Junio C Hamano wrote:
> A tl;dr is that we _trust_ our refs and everything reachable from
> them has to be complete.  If that is not the case, things will not
> work, and it is not a priority to add workarounds in the normal
> codepath to slow things down.

Makes sense.

> That does not forbid an addition of "git recover-corrupted-repo"
> command, whose "assume everything might be broken" code is not
> shared with the fastpath of other commands.

I'm not looking for a kitchen-sink command: I'm looking for a
well-documented toolset to precisely fix corruptions.  We have some
corruption tests in our testsuite already: I think I'll start digging
there.

Thanks.
--
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: [HELP] Corrupted repository

2013-06-21 Thread Junio C Hamano
Ramkumar Ramachandra  writes:

> Junio C Hamano wrote:
>>>   $ ~/src/git
>>>   error: object file
>>> .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f is empty
>>>   error: object file
>>> .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f is empty
>>>   fatal: loose object 8e6a6dda24b017915449897fcc1353a9b848fd2f (stored
>>> in .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f) is corrupt
>>
>> So fsync() and close() thought that the filesystem stored this loose
>> object safely, but it turns out that the data is not on disk.
>
> Where should I start digging if I want to fix this?  Actually you just
> need to tell me how to build reduced-case corruptions to test: I can
> trace and figure out the rest.

That is a trip in the kernel source, isn't it?  I cannot be your
guide there.

>
>>>   artagnon|remote-cruft*+:~/src/git$ git prune
>>>   artagnon|remote-cruft*+:~/src/git$ git status
>>>   fatal: bad object HEAD
>>>   fatal: bad object HEAD
>>
>> And the value in the HEAD was???
>
> ref: refs/heads/remote-cruft.  That's why I included my prompt :)
>
>>>   artagnon|remote-cruft*+:~/src/git$ git symbolic-ref HEAD refs/heads/master
>>>   artagnon|master*+=:~/src/git$ git status
>>>   ## master
>>>   MM Documentation/git-ls-remote.txt
>>>   MM remote.c
>>>   MM t/t5505-remote.sh
>>>   MM t/t5510-fetch.sh
>>>   MM t/t5515-fetch-merge-logic.sh
>>>   MM t/t5516-fetch-push.sh
>>>   ?? lib/
>>>   ?? outgoing/
>>>
>>> That status is completely bogus, by the way.
>>
>> ... which may suggest that your index file may have been corrupted
>> on the filesystem.
>
> Yeah, my question pertains to why is the index half-corrupted.  Is
> there no checksum to say "index corrupted; do not display bogus
> nonsense"?

Another possibility is perhaps the objects that are referred to by
the index were missing or unreadable, and the index weren't.

>
>>>   artagnon|master*+=:~/src/git$ git checkout remote-cruft
>>>   fatal: reference is not a tree: remote-cruft
>>>   artagnon|master=:~/src/git$ git reflog
>>>   21ff915 HEAD@{10 minutes ago}: rebase -i (finish): returning to
>>> refs/heads/remote-cruft
>>>
>>> What happened to the rest of my reflog?!
>>
>> On the filesystem known to not record the last consistent state of
>> the repository, the answer to that question may be rather obvious,
>> no?
>
> I didn't understand.  What does .git/logs/HEAD have to do with any of
> this?  Why is it truncated?

Explain why .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f
was truncated to yourself, and the same explanation would apply to
the .git/logs/HEAD file, I think.

> This was mainly a learning exercise for me: I wanted to see how good
> git was at working with corrupted repositories.

You could have just asked ;-).

A tl;dr is that we _trust_ our refs and everything reachable from
them has to be complete.  If that is not the case, things will not
work, and it is not a priority to add workarounds in the normal
codepath to slow things down.

That does not forbid an addition of "git recover-corrupted-repo"
command, whose "assume everything might be broken" code is not
shared with the fastpath of other commands.

--
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: [HELP] Corrupted repository

2013-06-21 Thread Ramkumar Ramachandra
Junio C Hamano wrote:
>>   $ ~/src/git
>>   error: object file
>> .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f is empty
>>   error: object file
>> .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f is empty
>>   fatal: loose object 8e6a6dda24b017915449897fcc1353a9b848fd2f (stored
>> in .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f) is corrupt
>
> So fsync() and close() thought that the filesystem stored this loose
> object safely, but it turns out that the data is not on disk.

Where should I start digging if I want to fix this?  Actually you just
need to tell me how to build reduced-case corruptions to test: I can
trace and figure out the rest.

>>   artagnon|remote-cruft*+:~/src/git$ git prune
>>   artagnon|remote-cruft*+:~/src/git$ git status
>>   fatal: bad object HEAD
>>   fatal: bad object HEAD
>
> And the value in the HEAD was???

ref: refs/heads/remote-cruft.  That's why I included my prompt :)

>>   artagnon|remote-cruft*+:~/src/git$ git symbolic-ref HEAD refs/heads/master
>>   artagnon|master*+=:~/src/git$ git status
>>   ## master
>>   MM Documentation/git-ls-remote.txt
>>   MM remote.c
>>   MM t/t5505-remote.sh
>>   MM t/t5510-fetch.sh
>>   MM t/t5515-fetch-merge-logic.sh
>>   MM t/t5516-fetch-push.sh
>>   ?? lib/
>>   ?? outgoing/
>>
>> That status is completely bogus, by the way.
>
> ... which may suggest that your index file may have been corrupted
> on the filesystem.

Yeah, my question pertains to why is the index half-corrupted.  Is
there no checksum to say "index corrupted; do not display bogus
nonsense"?

>>   artagnon|master*+=:~/src/git$ git checkout remote-cruft
>>   fatal: reference is not a tree: remote-cruft
>>   artagnon|master=:~/src/git$ git reflog
>>   21ff915 HEAD@{10 minutes ago}: rebase -i (finish): returning to
>> refs/heads/remote-cruft
>>
>> What happened to the rest of my reflog?!
>
> On the filesystem known to not record the last consistent state of
> the repository, the answer to that question may be rather obvious,
> no?

I didn't understand.  What does .git/logs/HEAD have to do with any of
this?  Why is it truncated?

>>   artagnon|master=:~/src/git$ git branch -D remote-cruft
>>   error: Couldn't look up commit object for 'refs/heads/remote-cruft'
>
> The command would want to report what was at the tip, so it is
> understandable it may want to look up that commit before removing
> the ref.

I would have expected it to display a warning and remove the ref
anyway.  Or error out, and override with a force-flag?

>> Fine, let's fetch.
>
> Why?
>
> "fetch" walks the ancestry graph on both ends to minimize transfers.
> It's not something you would expect to work when you know refs at
> your end does not even record what you do have.  It _may_ appear to
> work if your refs are intact but you are missing objects, as they
> will not be transferred again from the good copy if you let your
> repository's ref claim that you have _all_ objects behind it when
> you actually don't.

Right.  I expected it to figure out that I have a broken history and
fetch everything (which is what happened the second time, no?).

> What would have been a better starting point to untangle is to make
> a separate clone, pretending as if this repository did not even
> exist, and copy the resulting packfile into this repository.  That
> would at least give you a known good copies of objects that you
> already have pushed out.

Yeah, I deliberately avoided doing that: apart from the config and
refs, I had no real unpushed work in ~/src/git anyway (I push _very_
frequently, which explains my "resolve HEAD early in current" patch).
The most important part of what I did was running unpack-objects by
hand: that fixed everything.  I shouldn't have had to run that by hand
though: why isn't there an in-built way to unpack everything, remove
corruptions, and repack the good stuff?

> And the next step would have been (without doing any of the above
> "remove this branch, recreate this one anew") to compare the tips
> of refs in this broken repository and the clone.  The same ones you
> can trust, and different ones you dig further.

Right.  I didn't have local data in this case, so I didn't bother.

>> Was I being stupid, or is fixing corrupted repositories really this
>> non-trivial?  Comments appreciated.
>
> I think "Let's fetch first" was the step that took you in a wrong
> direction that requires unnecessary work.

This was mainly a learning exercise for me: I wanted to see how good
git was at working with corrupted repositories.  I did my surgery
fairly quickly, and avoided large network transfers (I have a slow
connection).
--
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: [HELP] Corrupted repository

2013-06-21 Thread Junio C Hamano
Ramkumar Ramachandra  writes:

>   $ ~/src/git
>   error: object file
> .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f is empty
>   error: object file
> .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f is empty
>   fatal: loose object 8e6a6dda24b017915449897fcc1353a9b848fd2f (stored
> in .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f) is corrupt

So fsync() and close() thought that the filesystem stored this loose
object safely, but it turns out that the data is not on disk.

>   artagnon|remote-cruft*+:~/src/git$ rm
> .git/objects/8e/6a6dda24b017915449897fcc1353a9b848fd2f

As you know it is empty, removing (as long as you do not forget what
the object name was, which may later become useful when untangling
the mess further) does not hurt very much.

>   artagnon|remote-cruft*+:~/src/git$ git prune
>   artagnon|remote-cruft*+:~/src/git$ git status
>   fatal: bad object HEAD
>   fatal: bad object HEAD

And the value in the HEAD was???

>   artagnon|remote-cruft*+:~/src/git$ git symbolic-ref HEAD refs/heads/master
>   artagnon|master*+=:~/src/git$ git status
>   ## master
>   MM Documentation/git-ls-remote.txt
>   MM remote.c
>   MM t/t5505-remote.sh
>   MM t/t5510-fetch.sh
>   MM t/t5515-fetch-merge-logic.sh
>   MM t/t5516-fetch-push.sh
>   ?? lib/
>   ?? outgoing/
>
> That status is completely bogus, by the way.

... which may suggest that your index file may have been corrupted
on the filesystem.

>   artagnon|master*+=:~/src/git$ git reset --hard

... and using that known-to-be-corrupt index, the working tree state
is discarded.

>   artagnon|master*+=:~/src/git$ git checkout remote-cruft
>   fatal: reference is not a tree: remote-cruft
>   artagnon|master=:~/src/git$ git reflog
>   21ff915 HEAD@{10 minutes ago}: rebase -i (finish): returning to
> refs/heads/remote-cruft
>
> What happened to the rest of my reflog?!

On the filesystem known to not record the last consistent state of
the repository, the answer to that question may be rather obvious,
no?

>   artagnon|master=:~/src/git$ git branch -D remote-cruft
>   error: Couldn't look up commit object for 'refs/heads/remote-cruft'

The command would want to report what was at the tip, so it is
understandable it may want to look up that commit before removing
the ref.

>   artagnon|master=:~/src/git$ rm .git/refs/heads/remote-cruft
>   artagnon|master=:~/src/git$ git checkout -b remote-cruft
>   Switched to a new branch 'remote-cruft'
>
> Huh?  What happened to my upstream?
>
>   artagnon|remote-cruft:~/src/git$ git branch -u ram/remote-cruft
>   warning: ignoring broken ref refs/remotes/ram/remote-cruft.

So remotes/ram/remote-cruft is also broken.

> Fine, let's fetch.

Why?

"fetch" walks the ancestry graph on both ends to minimize transfers.
It's not something you would expect to work when you know refs at
your end does not even record what you do have.  It _may_ appear to
work if your refs are intact but you are missing objects, as they
will not be transferred again from the good copy if you let your
repository's ref claim that you have _all_ objects behind it when
you actually don't.

What would have been a better starting point to untangle is to make
a separate clone, pretending as if this repository did not even
exist, and copy the resulting packfile into this repository.  That
would at least give you a known good copies of objects that you
already have pushed out.

And the next step would have been (without doing any of the above
"remove this branch, recreate this one anew") to compare the tips
of refs in this broken repository and the clone.  The same ones you
can trust, and different ones you dig further.

> Was I being stupid, or is fixing corrupted repositories really this
> non-trivial?  Comments appreciated.

I think "Let's fetch first" was the step that took you in a wrong
direction that requires unnecessary work.

--
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: Help with git-svn and SVN symlinks

2013-04-23 Thread Sadystio Ilmatunt
Any update about this:

I created this simple bug test to reproduce my problem.
I tried on latest GIT, It fails.
It is really preventing me from using GitSvn.
Any help will be highly appreciated.

Let me know if you have any questions.

[GITSVN] $git --version
git version 1.8.2.GIT
[GITSVN] $git svn --version
git-svn version 1.8.2.GIT (svn 1.5.7)



#Create svn repo
cd /tmp;
mkdir git-svn-prob;
cd /tmp/git-svn-prob;
/usr/bin/svnadmin create SVNTest-repo
svn co file:///tmp/git-svn-prob/SVNTest-repo SVNTest
cd SVNTest
echo "stuff in h" > h
echo -n  "link h" > hl
svn add h hl
svn commit -m "Adding two files";

#Create GIT-svn repo
cd ..;
mkdir GITSVN
cd  GITSVN
git svn init  file:///tmp/git-svn-prob/SVNTest-repo;
git svn fetch

# In SVN Repo, Modify hl to be link from file
cd ..
cd SVNTest;
svn ps svn:special '*' hl
rm hl
ln -s h hl
svn ci -m "Exisitng file modified to be link";
cat hl; 

# Fetch latest SVN rev and see problem
cd ..
cd GITSVN;
git svn fetch;
git co git-svn -f
cat hl; 
diff hl ../SVNTest/hl  # Fails, Should succeed


--
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: Help requested - trying to build a tool doing whole-tree commits

2012-11-12 Thread ydirson
esr:
>Junio C Hamano  pobox.com>:
>> Perhaps not exactly what you are looking for, but don't we have
>> import-tar somewhere in contrib/fast-import hierarchy (sorry, not on
>> a machine yet, and I cannot give more details).
>
>If I recall correctly, that can only be used for original import.

You may find my (old) ag-import-patch tool useful.  Although the name does not
imply it, it allows to import a series of releases that can be available either 
as
tarballs or as patches.

http://ydirson.free.fr/soft/git/argit.git/

There's not much doc in there, and not so much I can remember myself from the 
short
help string.  IIRC you can specify which base revision a patch applies to (ie. 
it
may apply to an older revision, not necessarily to the current HEAD).

It has also quite some bitrot (git-* direct invocation, use of cg-tag, surely 
more).
--
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: Help requested - trying to build a tool doing whole-tree commits

2012-11-11 Thread Eric S. Raymond
Junio C Hamano :
> Perhaps not exactly what you are looking for, but don't we have
> import-tar somewhere in contrib/fast-import hierarchy (sorry, not on
> a machine yet, and I cannot give more details).

If I recall correctly, that can only be used for original import.

I think Andreas Schwab's suggestion (git add -A && git write-tree &&
git commit-tree && git update-ref) is probably the right thing. I'm
going to try that.
-- 
http://www.catb.org/~esr/";>Eric S. Raymond
--
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: Help requested - trying to build a tool doing whole-tree commits

2012-11-10 Thread Felipe Contreras
On Fri, Nov 9, 2012 at 10:50 PM, Andreas Schwab  wrote:
> Unknown  writes:

Unknown Invalid? Please don't change the original email, makes it
harder for other people to reply.

>> I need a command or command sequence that will commit an entire file
>> tree to a repository...
>>
>> (a) Allowing me to specify committer and author metadata, and
>>
>> (b) deleting paths not present in the previous commit on the current
>> branch, and
>>
>> (c) allowing me to specify merge links from other previous commits.
>>
>> git commit -a passes (a) and (b) but not (c).
>
> git commit -a won't add new files, so you probably want to use git add
> -A && git commit.  I'm not quite sure what you mean with "merge links",
> but if you want to create merge commits the you'll need to resort to
> plumbing: git add -A && git write-tree && git commit-tree && git
> update-ref.

I've done something similar, except that I used git hash-object
instead of git commit-tree so that I can specify every single detail
about the commit object.

Cheers.

-- 
Felipe Contreras
--
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: Help requested - trying to build a tool doing whole-tree commits

2012-11-10 Thread Junio C Hamano
Unknown  writes:

> (Apologies if this arrives twice. I'm on the road, with somewhat flaky email.)
>
> Because of my work on reposurgeon, I am sometimes asked to produce git
> repositories for very old projects that not only are still using CVS
> but have ancient releases not in the CVS repository, preserved only
> as tarballs.

Perhaps not exactly what you are looking for, but don't we have
import-tar somewhere in contrib/fast-import hierarchy (sorry, not on
a machine yet, and I cannot give more details).

--
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: Help requested - trying to build a tool doing whole-tree commits

2012-11-09 Thread Andreas Schwab
Unknown  writes:

> I need a command or command sequence that will commit an entire file
> tree to a repository...
>
> (a) Allowing me to specify committer and author metadata, and
>
> (b) deleting paths not present in the previous commit on the current
> branch, and
>
> (c) allowing me to specify merge links from other previous commits.
>
> git commit -a passes (a) and (b) but not (c).

git commit -a won't add new files, so you probably want to use git add
-A && git commit.  I'm not quite sure what you mean with "merge links",
but if you want to create merge commits the you'll need to resort to
plumbing: git add -A && git write-tree && git commit-tree && git
update-ref.

Andreas.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
--
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: help doing a hotfix bisect: cherry-pick -m ??

2012-09-07 Thread Jim Cromie
On Fri, Sep 7, 2012 at 1:27 PM, Junio C Hamano  wrote:
> Jim Cromie  writes:
>
>> Broader question:
>
>> Im thinking that having a hotfix branch, and merging --no-commit would
>> work better,
>> especially when bisection lands on a commit which already contains
>> some of those in the hotfix branch.
>
> When your history leading to the "bad" commit contains only part of
> the hot-fix branch and not all of it, that may work better.

good, I have a 1/2 grip at least. thank you.

any tips on how to use the -m option ?
Ive had no success passing small integers,
and I need to include the commits from the merged branch

The only alternative I have is to rework the split *_deferred patch
on top of the merge-point, and hope that it tests ok with the original
hotfix patch,
then I can probably do the bisect.
--
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: help doing a hotfix bisect: cherry-pick -m ??

2012-09-07 Thread Junio C Hamano
Jim Cromie  writes:

> Broader question:

> Im thinking that having a hotfix branch, and merging --no-commit would
> work better,
> especially when bisection lands on a commit which already contains
> some of those in the hotfix branch.

When your history leading to the "bad" commit contains only part of
the hot-fix branch and not all of it, that may work better.
--
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