more todo updates
[vng.git] / todo
blobd423b3859544aea5dd8d8e36eecba5b53d8ba1e7
1 Commands still missing completely;
2       replace       Replace a token with a new value for that token.
3       amend-record  Replace a patch with a better version before it leaves your repository.
4       resolve       Mark any conflicts to the working copy for manual resolution.
5       tag           Tag the contents of the repository with a version name.
6       setpref       Set a value for a preference (test, predist, ...).
7       rollback      Record an inverse patch without changing the working directory.
8       diff          Create a diff between two versions of the repository.
9       annotate      Display which patch last modified something.
10       dist          Create a distribution tarball.
11       trackdown     Locate the most recent version lacking an error.
12       query         Query information which is stored by vng.
13       pull          Copy and apply patches from another repository to this one.
14       unpull        Opposite of pull; unsafe if patch is not in remote repository.
15       obliterate    Delete selected patches from the repository. (UNSAFE!)
16       send          Send by email a bundle of one or more patches.
17       apply         Apply patches (from an email bundle) to the repository.
18       get           Create a local copy of another repository.
19       put           Makes a copy of the repository
20       optimize      Optimize the repository.
21       check         Check the repository for consistency.
22       repair        Repair the corrupted repository.
24 ------
25 Make the --debug option only available when compiling as debug-build
27 Missing features;
28     * grep for 'TODO'
29     * cursor help (when typing '?') seems to be hardcoded to 'revert'.
30     * test each command to honor its arguments and options.
31     * add -r should add recursively
32     * Use pager for help :)
33     * Use $PAGER for pager
35 Bugs
36 * Also show / store file permissions in the diff and thus in revert
37 * Instead of hardcoding '.git' as a dirname; use git-rev-parse in Configuration and in commits/Commit
38 * when in subdir/ using a full path as an argument to whatsNew should just work.
39 * calling 'changes' with an incorrect sha1 gives;
40     command:  git whatchanged -m --pretty=raw 70dcca2e1096117d205aa12b114ccf4afa09d3fa
41     ERROR: Failed calling git
42 * vng add does not look at the .gitignore file
45 use git-read-tree --reset HEAD   and  git-update-index --refresh  to implement 'check'
46 use 'prune' and 'pack' to implement optimize.
48 pull;
49     git ls-remote -h -t [remote] to fetch all branches.
50     allow the user to select the branches he wants to mirror.
51     use git fetch
52     git merge
54 [09:31] <brad> git people: is it possible to push just a single commit to devil, or does it ineed to be a branch?
55 [09:31] <simon> brad: you can for example do: git push <remote> <sha1>:name-of-new-branch
56 [09:31] <simon> brad: and later remove the branch again with git push <remote> :name-of-new-branch
57 [09:31] <brad> ahh, cool
59 amend-record
60     git checkout -b tmp HEAD~5              # rewind to the commit in question
61     vi file.c                               # edit the file
62     git commit --amend file.c               # redo the commit without deleting the commit
63     git rebase --onto tmp master~5 master   # replay the later changes
64     git branch -D tmp                       # clean up the temporary branch
66     Where there are a number of files to amend you are probably better off using: 
67     git checkout -b tmp HEAD~5              # rewind to the commit in question
68     git reset HEAD^                         # delete the commit at the now current point
69     vi file1.c                              # edit
70     vi file2.c                              #      the files
71     git commit -a -c ORIG_HEAD              # redo the commit incorporating all changed files
72     git rebase --onto tmp master~5 master   # replay the later changes
73     git branch -D tmp                       # clean up the temporary branch
76 http://wiki.winehq.org/GitWine