• 
      

    SVN and CVS no longer create diffs relative to current working directory.

    Review Request #6388 — Created Oct. 1, 2014 and submitted

    Information

    RBTools
    master
    929f614...

    Reviewers

    CVS and SVN now change to the root directory of the repository for
    performing diffs (before changing back).

    Add the _get_repository_root method to CVSClient that determines
    the root directory of the current CVS repository. It does this by
    reading the CVS/Repository file in the current directory and
    determining the working direcotry's depth relative to the CVSRoot;
    that is the number of directories to traverse up to find the
    repository root.

    The base_dir parameter of all rbtools.utils.diffs method is no
    longer optional because all SCMTools that utilize it require
    specifying the root of the repository.

    Unit tests pass.
    The diffs are generated correctly.

    Description From Last Updated

    In order to make this exception-safe, this should probably be: try: diff = execute(...) finally: os.chdir(cwd)

    daviddavid

    try/finally here, too.

    daviddavid

    Don't add these lines.

    daviddavid
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          rbtools/clients/cvs.py
          rbtools/clients/svn.py
          rbtools/utils/diffs.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          rbtools/clients/cvs.py
          rbtools/clients/svn.py
          rbtools/utils/diffs.py
      
      
    2. 
        
    brennie
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          rbtools/clients/cvs.py
          rbtools/clients/svn.py
          rbtools/utils/diffs.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          rbtools/clients/cvs.py
          rbtools/clients/svn.py
          rbtools/utils/diffs.py
      
      
    2. 
        
    david
    1. 
        
    2. rbtools/clients/cvs.py (Diff revision 2)
       
       
       
       
       
      Show all issues

      In order to make this exception-safe, this should probably be:

      try:
          diff = execute(...)
      finally:
          os.chdir(cwd)
      
    3. rbtools/clients/svn.py (Diff revision 2)
       
       
       
      Show all issues

      try/finally here, too.

    4. rbtools/clients/svn.py (Diff revision 2)
       
       
       
      Show all issues

      Don't add these lines.

    5. 
        
    brennie
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          rbtools/clients/cvs.py
          rbtools/clients/svn.py
          rbtools/utils/diffs.py
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          rbtools/clients/cvs.py
          rbtools/clients/svn.py
          rbtools/utils/diffs.py
      
      
    2. 
        
    brennie
    reviewbot
    1. Tool: PEP8 Style Checker
      Processed Files:
          rbtools/clients/cvs.py
          rbtools/clients/svn.py
          rbtools/utils/diffs.py
      
      
      
      Tool: Pyflakes
      Processed Files:
          rbtools/clients/cvs.py
          rbtools/clients/svn.py
          rbtools/utils/diffs.py
      
      
    2. 
        
    david
    1. Ship It!

    2. 
        
    brennie
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-0.6.x (31aabc4)