Jenkins : Git plugin rewrite plans
- Polling without a workspace should be built in - this won't be possible in all circumstances, but when just polling against a specific branch, it should be. DONE using ls-remote
Work in progress
- Make sure every string config value is parameterizable.
- Abstract away the git decision-making logic into a separate library, for reuse elsewhere and to allow for other possible implementations.
- Support for multiple local git repositories, probably in optional "module" subdirectories along the same lines as the subversion plugin.
- Don't default to ** for the branch spec any more - that causes confusion. Instead, use the remote's HEAD.
- Trim config options - what's actually being used? What actually matters? We've got a lot of cruft there that makes the UI cluttered.
- Use author rather than committer by default, and wait to implement the config option to flip this until we see if there's actual demand.
- Eliminate "wipe out workspace" - this shouldn't actually be needed.
- Eliminate the "skip internal tag" option, since we'll get rid of the internal tag in the first place.
- user.name and user.email will only be global config options.
- "Unique SCM name" should no longer be needed, if we implement the multiple local repos behavior correctly.
- Continue supporting the build chooser extension point, though new implementations will be needed for other plugins.
- Possibly cache the remote repository on the master to speed up cloning/fetching/polling/etc.
- Make sure there's a migration path from the old git plugin to the new one, but don't necessarily require 100% compatibility. This is a new plugin, not a new version of the old one.