On Wed, Jun 8, 2011 at 3:06 AM, Jeff King <peff@xxxxxxxx> wrote: > But another way to think about it is that commits, the index, and the > working tree are all "locations" with content. And one common operation > you may want to do is to move content from one spot to another, either > whole, by file, or by diff hunks. Also "git put --pretend" or "git put --dry-run" may show the diff of content movement, without actual moving. "--dry-run --patch" combination probably does not make sense though. > As you can see, this handles only three typoes of locations: the > worktree, the index, and an arbitrary commit (really a tree-ish). Some > other types I've thought of are: > > .... > I find it intuitive (given a source tree and destination one(s), you can copy content by paths or even by hunks), until you give it more powers (creating new branch or commit, move subdirs...). The original git-put idea could reduce a lot of confusion for new users. Your extra types seem uncommon to me (or can be well covered with current commands without much confusion). For advanced use cases, maybe the current command set can be enhanced with new options. -- Duy -- 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