Hi, Good list.. I agree with others that the 'undo' name doesn't sound right (and will discuss other issues with it in response to another email) but otherwise nice work. On Wed, Oct 29, 2008 at 9:48 PM, Sam Vilain <sam@xxxxxxxxxx> wrote: > + * 'git push' to checked out branch of non-bare repository not > + allowed without special configuration. Configuration available > + that allows working directory to be updated, known caveats > + notwithstanding. Ideally, it would refuse only in situations > + where a broken working copy would be left (because you couldn't > + fix it), and work when it can be known to be safe. Configuration of remote repository, special command-line override, or both? Some food for thought: One thing I did in EasyGit was to disallow pushes to non-bare repositories* unless both source and destinations references were explicitly specified. For example: $ eg push origin master # or 'eg push', in this case Aborting: You are trying to push to a repository with an associated working copy, which will leave its working copy out of sync with its repository. Rather than pushing changes to that repository, you should go to where that repository is located and pull changes into it (using eg pull). If you know what you are doing and know how to deal with the consequences, you can override this check by explicitly specifying source and destination references, e.g. eg push REMOTE BRANCH:REMOTE_BRANCH Please refer to eg help topic refspecs to learn what this syntax means and what the consequences of overriding this check are. $ eg push origin master:master Counting objects: 5, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 260 bytes, done. Total 3 (delta 1), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. To /home/newren/testing/dumb/.git 852ffee..f5596e4 master -> master This seems to prevent errors for new users, while still allowing people to work around firewall issues. * The big problem was that I was only able to detect if a remote repository was bare or not if it was accessed via the local filesystem or via ssh; for git:// (or rsync://) repositories I didn't know how to perform such a check and so I simply omitted it. Elijah -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html