Hi,

Edward Thomson wrote:

> I created a simple shell script a while back to help people recover
> files that they deleted from their working directory (but had been added
> to the repository), which looks for unreachable blobs in the object
> database and places them in the working directory (either en masse,
> interactively, or via command-line arguments).

Cool!  Most of this belongs in the commit message, which is part of why
I always discourage having a separate cover letter in single-patch
series.

> This has been available at https://github.com/ethomson/git-recover for
> about a year, and in that time, someone has suggested that I propose
> this as part of git itself.  So I thought I'd see if there's any
> interest in this.
>
> If there is, I'd like to get a sense of the amount of work required to
> make this suitable for inclusion.  There are some larger pieces of work
> required -- at a minimum, I think this requires:
>
> - Tests -- there are none, which is fine with me but probably less fine
>   for inclusion here.
> - Documentation -- the current README is below but it will need proper
>   documentation that can be rendered into manpages, etc, by the tools.
> - Remove bashisms -- there are many.

One possible path in that direction would be to "stage" the code in
contrib/ first, while documenting the intention of graduating to a
command in git itself.  Then the list can pitch in with those tasks.
There are good reasons for a tool to exist outside of Git, so I
wouldn't recommend this unless we have a clear plan for its graduation
that we've agreed upon as a project, but thought I should mention it
as a mechanism in case we decide to do that.

The trend these days for Git commands has been to prefer to have them
in C.  Portable shell is a perfectly fine stopping point on the way
there, though.

My more fundamental main thought is separate from those logistics: how
does this relate to "git fsck --lost-found"?  What would your ideal
interface to solve this problem look like?  Can we make Git's commands
complement each other in a good way to solve it well?

Thanks,
Jonathan

Reply via email to