Class BranchConfig


  • public class BranchConfig
    extends java.lang.Object
    Branch section of a Git configuration file.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  BranchConfig.BranchRebaseMode
      Config values for branch.[name].rebase (and pull.rebase).
    • Constructor Summary

      Constructors 
      Constructor Description
      BranchConfig​(Config config, java.lang.String branchName)
      Create a new branch config, which will read configuration from config about specified branch.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.lang.String findRemoteTrackingBranch​(java.lang.String remote, java.lang.String mergeRef)
      Finds the tracked remote tracking branch
      java.lang.String getMerge()
      Get the name of the upstream branch as it is called on the remote
      java.lang.String getPushRemote()
      Get the remote this branch is configured to push to.
      BranchConfig.BranchRebaseMode getRebaseMode()
      Retrieves the config value of branch.[name].rebase.
      java.lang.String getRemote()
      Get the remote this branch is configured to fetch from/push to
      private java.lang.String getRemoteOrDefault()  
      java.lang.String getRemoteTrackingBranch()
      Get the full remote-tracking branch name
      java.lang.String getTrackingBranch()
      Get the full tracking branch name
      boolean isRebase()
      Whether the branch is configured to be rebased
      boolean isRemoteLocal()
      Whether the "remote" setting points to the local repository (with ".")
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOCAL_REPOSITORY

        public static final java.lang.String LOCAL_REPOSITORY
        The value that means "local repository" for getRemote(): "."
        Since:
        3.5
        See Also:
        Constant Field Values
      • config

        private final Config config
      • branchName

        private final java.lang.String branchName
    • Constructor Detail

      • BranchConfig

        public BranchConfig​(Config config,
                            java.lang.String branchName)
        Create a new branch config, which will read configuration from config about specified branch.
        Parameters:
        config - the config to read from
        branchName - the short branch name of the section to read
    • Method Detail

      • getTrackingBranch

        public java.lang.String getTrackingBranch()
        Get the full tracking branch name
        Returns:
        the full tracking branch name or null if it could not be determined
      • getRemoteTrackingBranch

        public java.lang.String getRemoteTrackingBranch()
        Get the full remote-tracking branch name
        Returns:
        the full remote-tracking branch name or null if it could not be determined. If you also want local tracked branches use getTrackingBranch() instead.
      • isRemoteLocal

        public boolean isRemoteLocal()
        Whether the "remote" setting points to the local repository (with ".")
        Returns:
        true if the "remote" setting points to the local repository (with "."), false otherwise
        Since:
        3.5
      • getRemote

        public java.lang.String getRemote()
        Get the remote this branch is configured to fetch from/push to
        Returns:
        the remote this branch is configured to fetch from/push to, or null if not defined
        Since:
        3.5
      • getPushRemote

        public java.lang.String getPushRemote()
        Get the remote this branch is configured to push to.
        Returns:
        the remote this branch is configured to push to, or null if not defined
        Since:
        6.1
      • getMerge

        public java.lang.String getMerge()
        Get the name of the upstream branch as it is called on the remote
        Returns:
        the name of the upstream branch as it is called on the remote, or null if not defined
        Since:
        3.5
      • isRebase

        public boolean isRebase()
        Whether the branch is configured to be rebased
        Returns:
        true if the branch is configured to be rebased
        Since:
        3.5
      • findRemoteTrackingBranch

        private java.lang.String findRemoteTrackingBranch​(java.lang.String remote,
                                                          java.lang.String mergeRef)
        Finds the tracked remote tracking branch
        Parameters:
        remote - Remote name
        mergeRef - merge Ref of the local branch tracking the remote tracking branch
        Returns:
        full remote tracking branch name or null
      • getRemoteOrDefault

        private java.lang.String getRemoteOrDefault()