--- /dev/null
+\r
+Svn\r
+===\r
+\r
+ * pro: Monotic rev numbers (though commitnumbers is better as they don't change with the whole repo)\r
+ * pro: Cherry picking doesn't duplicate the commit\r
+ * pro: Good/faster trac integration\r
+ * pro: Inherently flattened branches (requires branch.name.rebase+pending preservemerges--or `pull`)\r
+ * con: allows anti-social change hoarding of one large commit\r
+ * con: lots of .svn meta folders (slows down Eclipse)\r
+ * con: looses data in rename+merge scenario\r
+ * con: allows pushing from an out-of-date working copy as long as specific files don't conflict\r
+\r
+Git\r
+===\r
+\r
+ * pro: index (easier to break up commits, see only conflicts during merging)\r
+ * pro: stash (or local WIP on multiple branches without separate working copies)\r
+ * pro: local commits\r
+ * pro: combined diffs in gitk and commit emails\r
+ * pro: "git diff" in conflicted merges only shows conflicts, not what merged cleanly\r
+ * pro: safe merging (working copy is not munged, always have ORIG_HEAD or reflog)\r
+ * pro: pre-filled-in merge commit messages (e.g. with what conflicted)\r
+ * pro: DAG visualization (gitk)\r
+ * pro: just one .git meta folder\r
+ * con: requires flags/prefer-rebase script to maintain flattened branches\r
+ * con: allows anti-social change hoarding of many small commits\r
+ * con: no good tattoo (fixed with commitnumbers)\r
+ * con: trac integration is slow\r
+\r