Results 1 to 9 of 9

Thread: Managing ExtJS Within a Git Project

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Sencha Premium Member
    Join Date
    Oct 2009
    Posts
    23
    Answers
    3

    Default Managing ExtJS Within a Git Project

    I am looking for best practices for an ExtJS project when using Git for source control. After some searching there seems to be a couple options, but I am struggling with the best option to make it the most convenient for our group of developers whenever we bring in a new release of ExtJS. We self-host our Git repos and are not using Architect.

    Option 1: Use Git submodules. This seems the most common, but it assumes you have an ExtJS Git repo to be used as the submodule. With no read-only access to the Git repos from Sencha to pull from, what would be the best way to bring in a new release. If we self-host an ExtJS repo it seems like a bit of a nightmare to update this repo when there is a new release from Sencha.

    Option 2: Just ignore/exclude the ExtJS dir from Git in our project. This simplifies the project repo, but it requires every developer to create a symbolic link to the correct ExtJS version dir on clone. How would you manage or track which version is required for the project? There could be multiple branches of the project that require different versions of ExtJS. How would developers know which ExtJS version they need to symbolic link too?

    Are there any other options that I am missing? I'm trying to ease the effort involved for our developers when managing multiple branches which require different versions of ExtJS and also when bringing a new release of ExtJS into the fold.

    Thanks...

  2. #2
    Sencha Premium User mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    40,379
    Answers
    3997

    Default

    Is there a reason why you don't want the ext js source in your git repo?

    Simplest is to check in everything.

    Ignoring the ext js source will make your dev copy the source directory over and hope they grab the right version and not go for the latest and greatest that others aren't using. Plus, when you switch branches, git will update the ext js source you have checked in so you can't get much easier than that.

    Submodule is fine if you want to share the same ext js repo/branch among multiple projects.
    Mitchell Simoens @LikelyMitch

    Check out my GitHub:
    https://github.com/mitchellsimoens

    Posts are my own, not any current, past or future employer's.

  3. #3
    Sencha Premium Member
    Join Date
    Oct 2009
    Posts
    23
    Answers
    3

    Default

    Yes, that is the simplest, but the git repo gets larger and larger every time we update the ExtJS source in the repo. The changset when updating the ExtJS code in the repo is not small. After a few ExtJS versions, cloning the repo takes a while. That is the main step I was hoping to avoid.

  4. #4
    Sencha Premium User mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    40,379
    Answers
    3997

    Default

    Are you just renaming the directory when upgrading?
    Mitchell Simoens @LikelyMitch

    Check out my GitHub:
    https://github.com/mitchellsimoens

    Posts are my own, not any current, past or future employer's.

  5. #5
    Sencha Premium Member
    Join Date
    Oct 2009
    Posts
    23
    Answers
    3

    Default

    We are trying to figure out the best way to bring a new version in.

    If in the new branch we remove the old ExtJS version and checkin the new under a different directory, that just makes the changeset even bigger, correct?

    What is the correct way to "merge" in a new ExtJS version from source? If the ExtJS dir is at ./extjs and it currently contains ExtJS 4.1.X and I want it to contain 4.2.X? Will Git do the right thing if I just delete ./extjs which contains 4.1.X and replace it with an ./extjs for 4.2.X? Seems there would be Git tracking issues there with files that are removed or renamed between the two versions?

  6. #6
    Sencha Premium User mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    40,379
    Answers
    3997

    Default

    Of course it's going to be a huge change but can I ask what that matters? I remove the old version, commit the deletions. Then I add in the new version and commit the additions. Then I push.
    Mitchell Simoens @LikelyMitch

    Check out my GitHub:
    https://github.com/mitchellsimoens

    Posts are my own, not any current, past or future employer's.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •