1 file /usr/bin/git-* | grep ELF | cut -d: -f 1
4 Changing and querying the working copy:
5 3 remove Remove one or more files or directories from the repository.
6 3 mv Move/rename one or more files or directories.
7 replace Replace a token with a new value for that token.
8 Copying changes between the working copy and the repository:
9 5 unrecord Remove recorded patches without changing the working copy.
10 4 amend-record Replace a patch with a better version before it leaves your repository.
11 resolve Mark any conflicts to the working copy for manual resolution.
12 Direct modification of the repository:
13 tag Tag the contents of the repository with a version name.
14 setpref Set a value for a preference (test, predist, ...).
15 rollback Record an inverse patch without changing the working directory.
16 Querying the repository:
17 diff Create a diff between two versions of the repository.
18 2 changes Gives a changelog-style summary of the repository history.
19 annotate Display which patch last modified something.
20 dist Create a distribution tarball.
21 trackdown Locate the most recent version lacking an error.
22 query Query information which is stored by vng.
23 Copying patches between repositories with working copy update:
24 1 pull Copy and apply patches from another repository to this one.
25 unpull Opposite of pull; unsafe if patch is not in remote repository.
26 obliterate Delete selected patches from the repository. (UNSAFE!)
27 send Send by email a bundle of one or more patches.
28 apply Apply patches (from an email bundle) to the repository.
29 get Create a local copy of another repository.
30 put Makes a copy of the repository
31 Administrating repositories:
32 initialize Initialize a new source tree as a vng repository.
33 optimize Optimize the repository.
34 check Check the repository for consistency.
35 repair Repair the corrupted repository.
38 Make the --debug option only available when compiling as debug-build
41 * cursor help (when typing '?') seems to be hardcoded to 'revert'.
42 * test each command to honor its arguments and options.
43 * When the user does not want to accept a file rename, mark all the changes for the rest
44 of the file as impossible, and thus skipped.
47 * Also show / store file permissions in the diff and thus in revert
48 * Use pager for help :)
49 * Use $PAGER for pager
50 * Doing an 'f' which then reaches the end of the cursor will not actually end the interaction.
51 I think I need to redo the interface to allow having an invalid position in the cursor so we can check for that.
53 use git-read-tree --reset HEAD and git-update-index --refresh to implement 'check'
54 use 'prune' and 'pack' to implement optimize.
57 git ls-remote -h -t [remote] to fetch all branches.
58 allow the user to select the branches he wants to mirror.
63 use 'git whatchanged -p --unified=0 --root'
64 allow -v to show the diff.
65 We should read the diff in memory and if the user passed a filename we should only show the diffs for that file.
68 [09:31] <brad> git people: is it possible to push just a single commit to devil, or does it ineed to be a branch?
69 [09:31] <simon> brad: you can for example do: git push <remote> <sha1>:name-of-new-branch
70 [09:31] <simon> brad: and later remove the branch again with git push <remote> :name-of-new-branch
71 [09:31] <brad> ahh, cool