git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Commits gone AWOL, but not reported by git-fsck --unreachable
@ 2007-05-19 10:30 Robin H. Johnson
  2007-05-19 11:52 ` Jeff King
  0 siblings, 1 reply; 17+ messages in thread
From: Robin H. Johnson @ 2007-05-19 10:30 UTC (permalink / raw)
  To: Git Mailing List

[-- Attachment #1: Type: text/plain, Size: 2070 bytes --]

Background:
-----------
Using git-svn to work with an external project (non-public), and the
other day I happened to run 'git-svn dcommit' right as their SVN went
down for a moment (under 5 seconds) for the snapshot-backup. I recall
swearing profusely at the time, but thought nothing of it after that,
until now, when I saw that parts of my tree weren't as they should be.

Problem:
--------
A bunch of my commits are NOT present in git-log, git-rev-list, or any
tool that provides the history of my branches.

If I hack around and recover the commitid, I can pass it to git-show,
and the commit does still exist in the data.

git-fsck --unreachable does not list the commit in question either, but
does list other blobs and trees.

Luckily, since the entire tree had ~900 commits, I was able to work some
magic and recovery my work:
1. Hack to get list of all commits
2. Exclude all commits that had git-svn-id in their description.
3. Exclude all merges.
4. Manually review all remaining commits (~70).

The following questions are mainly things that would have made my
recovery far easier.

Questions:
----------
1. Is there a plumbing tool to list EVERY single object of a given type
   (blob, tree, commit, tag) that git is aware of, regardless of it
   being reachable? (Right now I have a hack to read the pack index, and
   use find to find the non-packed object ids, then git-cat-file -t for
   the type).
2. A sane way to view an ordered set of commits, so that it should be
   possible to spot when there's a path of commits that went off and
   isn't used anymore.
3. Given a set of commits, list which are actually unique (in my tree,
   git-svn uses rebase often, so I have a lot of commits that are
   identical bar the commitid).
4. Strongly related to #4, given everything a commit, tell me what other
   identical commits exist in the tree.

-- 
Robin Hugh Johnson
Gentoo Linux Developer & Council Member
E-Mail     : robbat2@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85

[-- Attachment #2: Type: application/pgp-signature, Size: 321 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2007-05-22  6:17 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-19 10:30 Commits gone AWOL, but not reported by git-fsck --unreachable Robin H. Johnson
2007-05-19 11:52 ` Jeff King
2007-05-19 12:09   ` Robin H. Johnson
2007-05-19 12:11     ` Jeff King
2007-05-19 15:45       ` Anand Kumria
2007-05-19 16:08         ` Matthieu Moy
2007-05-19 16:20           ` Brian Gernhardt
2007-05-19 16:55             ` Matthieu Moy
2007-05-19 17:13               ` Brian Gernhardt
2007-05-19 18:15                 ` Junio C Hamano
2007-05-20 12:37                   ` [PATCH] Cross-reference the manpages for git-name-rev and git-describe (was Re: Commits gone AWOL, but not reported by git-fsck --unreachable) Matthieu Moy
     [not found]                     ` <7vsl9rmkm0.fsf@assigned-by-dhcp.cox.net>
2007-05-21  7:20                       ` [PATCH] Cross-reference the manpages for git-name-rev and git-describe Shawn O. Pearce
2007-05-21  7:46                         ` Junio C Hamano
2007-05-21  7:54                           ` Shawn O. Pearce
2007-05-21  8:01                           ` Matthieu Moy
2007-05-22  6:13                         ` Junio C Hamano
2007-05-22  6:17                           ` Shawn O. Pearce

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).