{"thread":{"id":"28557","subject":"Symbolic references updated by fetch?","startedAt":"2011-10-03T08:47:55Z","lastAt":"2011-10-03T08:47:55Z","messageCount":1,"participants":["Mattias Jiderhamn"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"176722","messageId":"loom.20111003T104608-738@post.gmane.org","threadId":"28557","inReplyTo":null,"subject":"Symbolic references updated by fetch?","fromName":"Mattias Jiderhamn","fromEmail":"mj-lists@expertsystems.se","sentAt":"2011-10-03T08:47:55Z","receivedAt":"2011-10-03T08:47:55Z","isPatch":false,"sender":{"key":"mj-lists@expertsystems.se","avatar":null},"body":"In our current CVS setup, we have two separate builds in Jenkins CI; one for the\nlatest and greatest (head of \"master\" branch) and one for the last/current minor\nrelease of the latest major release. The revisions to include in the minor\nrelease build will be tagged with a tag we can call \"next-minor-release\" here.\nIndividual files are branched as needed and the \"next-minor-release\" tag is\nmoved onto the branch. The Continuous Integration job will fetch and build the\n\"next-minor-release\" tag. As part of a major release, the \"next-minor-release\"\ntag is moved to the head of the main branch again.\n\nWhen moving to GIT, the natural thing will be a hotfix branch originating from\neach major release. In order to have a fixed name for the current hotfix branch,\nprimarily for the CI but also simplifying for developers working with hotfixes,\nit seems git symbolic-ref will do the trick. After the first major release we\ncan do something like this in our bare repository whereto developers push and\nwhere from Jenkins pulls code to build:\n  git symbolic-ref refs/heads/current-hotfix-branch refs/heads/release-1-hotfixes\nand after the next major release, we simply move the referece pointer, as such\n  git symbolic-ref refs/heads/current-hotfix-branch refs/heads/release-2-hotfixes\n\nHOWEVER this seems to require that everyone fetching/pulling from that repo -\nJenkins included - delete their local \"current-hotfix-branch\" tracking branch,\nand then refetch it.\n\nIs there an easier way to solve the CI problem, eliminating the need to\nexplicitly deleting the tracking branch on all remote repos every time the\nsymbolic ref is moved i.e. at every major release?\nHow have others solved this? Do you simply reconfigure Jenkins every time...?\n\nThanks in advance.\n"}]}