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

2013-09-25 Thread Jonathan Nieder
Stefan Näwe wrote:
> Stefan Näwe  atlas-elektronik.com> writes:

>> 6035d6aad8ca11954c0d7821f6f3e7c047039c8f is the first bad commit
>
> And to answer myself once more:
>
> That's fixed in
>
>6da8bdc fetch-pack: do not remove .git/shallow file when --depth is not 
> specified"
>
> Sorry for all the noise.

No problem.

It's probably worth releasing 1.8.4.1 soon.  Thanks for a reminder.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2013-09-25 Thread Stefan Näwe
Stefan Näwe  atlas-elektronik.com> writes:

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

And to answer myself once more:

That's fixed in

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

Sorry for all the noise.

Stefan

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


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

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

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

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

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

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

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

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

Signed-off-by: Nguyễn Thái Ngọc Duy 
Signed-off-by: Junio C Hamano 

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


Stefan
-- 

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


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

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

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


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

v1.8.3.1 fetches the tag also.


Stefan
-- 

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


[Bug] git show crashes with deepened shallow clone

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

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

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

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

The help of 'git fetch' says:

  --depth=

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

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



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


Stefan
-- 

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