This series teaches "jgit fetch" how to prune stale tracking branches that have been removed from the remote repository. We can now do both a fetch and a prune in a single network connection. I wanted to also add this for push, but its going to be more complex. The RefSpec data I need isn't available in the PushProcess code path, and the Transport.push() method isn't doing me any favors at making it available to me. I need to move on to some other things today, so I'm posting this fetch series now as this looks good as-is. Shawn O. Pearce (6): Fix RefUpdate.delete to update the result status Add setBoolean, setInt to RepositoryConfig Add RefSpec.expandFromDestination for reverse mappings Add the remote.name.mirror flag to RemoteConfig Don't pass TagOpt to FetchProcess, get it from the Transport Teach fetch to prune stale tracking branches .../org/spearce/jgit/pgm/AbstractFetchCommand.java | 8 ++- .../src/org/spearce/jgit/pgm/Fetch.java | 9 +++ .../spearce/jgit/transport/RefSpecTestCase.java | 22 ++++++ .../src/org/spearce/jgit/lib/RefUpdate.java | 4 +- .../src/org/spearce/jgit/lib/RepositoryConfig.java | 57 +++++++++++++++ .../org/spearce/jgit/transport/FetchProcess.java | 55 +++++++++++++-- .../src/org/spearce/jgit/transport/RefSpec.java | 73 ++++++++++++++------ .../org/spearce/jgit/transport/RemoteConfig.java | 40 +++++++++++- .../src/org/spearce/jgit/transport/Transport.java | 29 ++++++++- 9 files changed, 265 insertions(+), 32 deletions(-) -- 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