Re: What is the correct approach when attempting to add multiple pre-commit diff files? (Multiple Parent Diffs)

2015-04-23 Thread James Knight
Repository options are configured as follows:

   - Hosting Service: None - Custom Repository
   - Repository Type: Git
   - Path: git@myserver:mygroup/myproject.git
   - Raw file URL 
   mask: http://myserver/mygroup/myproject/raw/develop/filename

For our repository:

   - GitLab (7.4.3)
   - The project as a develop branch.
   - The project has deploy keys setup for our ReviewBoard server.

I'm not sure how this information could help (unless I'm missing 
something). Just to make sure I've explained the scenario correctly:

   - I have multiple commits in a local repository that have not been 
   pushed up into the repository ReviewBoard is tracking.
   - I desire to add reviews to ReviewBoard based on my local commits so 
   they can be reviewed before I push it to the remote repository.

For example:
 {ReviewBoard}
 /\
 ||
 \/
 {Local}  {Remote}

 Commit 3
|
 Commit 2
|  Commit G
 Commit 1/
|   /
 Commit F  Commit F
| |
 Commit E  Commit E

In this example, I want to add Commit 1, 2 and 3 to ReviewBoard.

   - I can add Commit 1 by uploading the patch to ReviewBoard.
   - I can add Commit 2 by uploading the patch to ReviewBoard only when I 
   also provide the parent patch for Commit 1.
   - ReviewBoard understands the base of Commit 2 since the Git full 
  index chain is completed (Commit F - Commit 1 - Commit 2)
   - I *cannot* add Commit 3 since by uploading the patch to ReviewBoard 
   I cannot provided the parent patch of Commit 1 and Commit 2.
  - ReviewBoard cannot interpret the chain of commits from Commit F 
  to Commit 3.
 - If I upload Commit 3 and parent Commit 1, the missing index 
 is: Commit F - Commit 1 - ? - Commit 3
 - If I upload Commit 3 and parent Commit 2, the missing index 
 is: Commit F - ? - Commit 2 - Commit 3
  

On Wednesday, April 22, 2015 at 6:03:48 PM UTC-4, David Trowbridge wrote:

 How have you configured the repository on Review Board?

 -David

 On Wed, Apr 22, 2015 at 1:50 PM James Knight james.d...@live.com 
 javascript: wrote:

 So I wasn't using RBTools but I figured I'd try it first to see a working 
 solution with rbt rather than using the web interface.

 After installing and invoking `rbt`, the first commit of ten (10) created 
 my first review for me. As soon as I try performing an `rbt posh 
 full_commit_index` on the second or greater commits they fail. The 
 specific error for my case was:

 $ rbt post 2c6346ea50d25a974f4819a372f252d34d35d0da

 ERROR: Error validating diff


 my_file: The file was not found in the repository.


 I assume this is a valid error message since the file is created in the 
 first commit and ReviewBoard cannot interpret the parent state of the newer 
 commit(s). After looking at the documentation, I don't see a way to provide 
 a list of local parent commits which ReviewBoard can interpret the chain of 
 changes. I assume the only work around I can do is actually push up the 
 changes on the remote on a branch (something I wanted to avoid) and 
 reference the branch in rbt's `--parent` parameter when generating a review 
 for each pending commit.

 On Thursday, April 16, 2015 at 2:37:30 PM UTC-4, Stephen Gallagher wrote:

 On Thu, 2015-04-16 at 09:07 -0700, James Knight wrote:

 I have the following scenario, I have a remote Git repository (powered 
 by GitLab) configured and working as expected with ReviewBoard (2.0.15). In 
 my local repository (cloned), I have a series of ten (10) commits I'm about 
 to push to the origin. Before I do this, I generate a (full indexed; 
 unified) patch for the respective commits and I want to put them into 
 ReviewBoard. Uploading the patches, I proceed as follows:

1. Make a new review. Select the first patch and upload to 
ReviewBoard. The review is created.
2. Make a second review. Select the second patch and attempt to 
upload to ReviewBoard. ReviewBoard complains the parent hash doesn't 
 exist. 
I then upload my second patch with my first patch as a parent diff. The 
review is created.
3. Attempt to make a third review. Select the third patch to upload 
but find no way to upload since I cannot complete the parent chain of 
diffs. Full stop.

 The exact error message is as follows:

 The file file (revision hash) was not found in the repository


 Is there a way I can append multiple parent diff's for a review? My 
 attempts were to merge append patch 1 and 2 together, with no luck. Or, 
 am I attempting to use ReviewBoard in an incorrect way?

 The only work around I see is waiting until I commit the new patches 
 into the remote repository before adding the other patches, for example:

1. Add patches 1 and 2 to respective reviews.
2. Reviews approved and patches committed.
3. Add patches 3 

Re: What is the correct approach when attempting to add multiple pre-commit diff files? (Multiple Parent Diffs)

2015-04-23 Thread Stephen Gallagher
On Thu, Apr 23, 2015 at 11:49 AM James Knight james.d.kni...@live.com
wrote:

 Repository options are configured as follows:

- Hosting Service: None - Custom Repository
- Repository Type: Git
- Path: git@myserver:mygroup/myproject.git
- Raw file URL mask: http://myserver/mygroup/myproject/raw/develop/
filename


This isn't going to work if you don't have a way to represent the
individual file hashes. That's why it can't find them to compare. What tool
are you using to view the files via the web? Generally, cgit and gitweb
work best.

-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Command Line tool for Review Board administration

2015-04-23 Thread Steve
For my test suite, I create a perforce repo using the api this way:

from rbtools.api.client import RBClient

client = RBClient(http://localhost;)
client.login(sallan, sallan)
root = client.get_root()
root.get_repositories().create(name='perforce', tool=Perforce, 
path=localhost:1492)

--Steve


On Thursday, April 23, 2015 at 3:43:18 AM UTC-7, GC wrote:

 Thanks for the reply Christian. As far as our requests related to 
 repositories is concerned, it’s only about adding (not updating) Name, 
 Repository type, Path and Mirror path.


 I checked the API link for repository resource. Although I could find 
 fields for Name, Path and Mirror path, i could not find any field for 
 ‘Repository type’ (Bazaaar, Clearcase, CVS etc). Is ‘tool’ field what I’m 
 looking for? More importantly, it looks like the API supports only updation 
 not addition. Please correct me if I’m wrong. 



 https://www.reviewboard.org/docs/manual/2.5/webapi/2.0/resources/repository/



 Regards,

 Gaurav 



 On Thursday, April 23, 2015 at 2:45:15 AM UTC+5:30, Christian Hammond 
 wrote:

 Hi,

 We don't provide a tool for adding those (though that'd be a handy 
 project for someone to work on). We do have an API, though, for 
 adding/manipulating repositories, default reviewers, review requests, and 
 just about anything else.

 It does not support adding users, though. Most people use an LDAP or 
 Active Directory server when they need that kind of ability. That said, I'm 
 not opposed to adding that functionality, but it'd be low on our todo list, 
 so the best way to get that into the product is by writing a patch and 
 contributing it.

 Christian

 -- 
 Christian Hammond - chi...@chipx86.com
 Review Board - http://www.reviewboard.org
 Beanbag, Inc. - http://www.beanbaginc.com

 On Wed, Apr 22, 2015 at 3:04 AM, GC varuag@gmail.com wrote:

 Hi,


 Does Review Board provides a CLI for administrators? We use Git as our 
 version control system and we receive following requests from time-to-time:

 Add repository
 Add user
 Add reviewers (Not very frequent)

 Although these operations don’t consume much time, I would like to 
 automate them, if possible.


 Thanks

 -- 
 Supercharge your Review Board with Power Pack: 
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons: 
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 --- 
 You received this message because you are subscribed to the Google 
 Groups reviewboard group.
 To unsubscribe from this group and stop receiving emails from it, send 
 an email to reviewboard...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.




-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: why does rbt post have to fetch SCM credentials from RB and not just my client m/c

2015-04-23 Thread Christian Hammond
Hi,

RBTools doesn't fetch credentials from Review Board, and credentials aren't
exposed in the API (unless they were added to a URL instead of using the
username/password fields). Can you elaborate on what you're seeing?

Christian


On Thursday, April 23, 2015, XYZ karthikut...@gmail.com wrote:

 Hi

 why does rbt post have to fetch SCM credentials from RB and not just my
 client m/c

 rbt diff takes perforce login details from client machine and why cant rbt
 post do the same?

 And where exactly is the function where it fetches the login from Review
 Board site ?

 Tnx

 --
 Supercharge your Review Board with Power Pack:
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons:
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 ---
 You received this message because you are subscribed to the Google Groups
 reviewboard group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to reviewboard+unsubscr...@googlegroups.com
 javascript:_e(%7B%7D,'cvml','reviewboard%2bunsubscr...@googlegroups.com');
 .
 For more options, visit https://groups.google.com/d/optout.



-- 
-- 
Christian Hammond - christ...@beanbaginc.com
Review Board - http://www.reviewboard.org
Beanbag, Inc. - http://www.beanbaginc.com

-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


ClearCase Remote Client with Review Board

2015-04-23 Thread Roy Park


I’m investigating the Review Board to use it.

We are using the IBM Rational ClearCase for the version control system.

And we only have one VOB remotely.

So I'm using the ClearCase Remote Client on my development environment.

Can we just install the ClearCase Remote Client on hosting machine where 
the web server for Review Board is in?

Or do we need to install the ClearCase Client(NOT CCRC) on hosting machine?

Thanks.


-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Installation of 1.7.28 on new CentOS 6.6 box fails to find django-evolution-0.6.9

2015-04-23 Thread Christian Hammond
Hi Steve,

I can confirm this. Let me see what I can see, and I'll get back to you.

(You'll definitely need the patch number for ReviewBoard.)

Christian

-- 
Christian Hammond - chip...@chipx86.com
Review Board - http://www.reviewboard.org
Beanbag, Inc. - http://www.beanbaginc.com

On Thu, Apr 23, 2015 at 12:17 PM, Steve seide.al...@gmail.com wrote:

 Our current servers are on CentOS 6.6 running RB 1.7.28.  I'm preparing to
 upgrade to 2.0 or 2.5, so I want to test out the migration.  To do that,
 I'm trying to install 1.7.28 on a fresh CentOS6.6 VM.  After installing the
 pre-reqs, I ran

 easy_install ReviewBoard==1.7.28

 It fails with this message:

 Installed /usr/lib/python2.6/site-packages/Djblets-0.7.31-py2.6.egg
 Reading http://downloads.reviewboard.org/releases/Djblets/0.7/
 Searching for django-evolution=0.6.9,0.7
 Reading http://pypi.python.org/simple/django_evolution/
 Best match: django-evolution 0.6.9
 Downloading
 http://downloads.reviewboard.org/releases/django-evolution/0.6/django_evolution-0.6.9-py2.6.egg#md5=d41d8cd98f00b204e9800998ecf8427e
 Processing django_evolution-0.6.9-py2.6.egg
 Traceback (most recent call last):
   File /usr/bin/easy_install, line 9, in module
 load_entry_point('distribute==0.6.10', 'console_scripts',
 'easy_install')()
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 1715, in main
 with_ei_usage(lambda:
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 1696, in with_ei_usage
 return f()
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 1719, in lambda
 distclass=DistributionWithoutHelpCommands, **kw
   File /usr/lib64/python2.6/distutils/core.py, line 152, in setup
 dist.run_commands()
   File /usr/lib64/python2.6/distutils/dist.py, line 975, in run_commands
 self.run_command(cmd)
   File /usr/lib64/python2.6/distutils/dist.py, line 995, in run_command
 cmd_obj.run()
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 236, in run
 self.easy_install(spec, not self.no_deps)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 472, in easy_install
 return self.install_item(spec, dist.location, tmpdir, deps)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 504, in install_item
 self.process_distribution(spec, dist, deps)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 545, in process_distribution
 [requirement], self.local_index, self.easy_install
   File /usr/lib/python2.6/site-packages/pkg_resources.py, line 538, in
 resolve
 dist = best[req.key] = env.best_match(req, self, installer)
   File /usr/lib/python2.6/site-packages/pkg_resources.py, line 780, in
 best_match
 return self.obtain(req, installer) # try and download/install
   File /usr/lib/python2.6/site-packages/pkg_resources.py, line 792, in
 obtain
 return installer(requirement)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 472, in easy_install
 return self.install_item(spec, dist.location, tmpdir, deps)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 502, in install_item
 dists = self.install_eggs(spec, download, tmpdir)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 645, in install_eggs
 return [self.install_egg(dist_filename, tmpdir)]
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 696, in install_egg
 dist = self.egg_distribution(egg_path)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 687, in egg_distribution
 metadata = EggMetadata(zipimport.zipimporter(egg_path))
 zipimport.ZipImportError: can't read Zip file:
 '/tmp/easy_install-CNWVTO/django_evolution-0.6.9-py2.6.egg'


 Does this line indicate it's confused about the version?

 load_entry_point('distribute==0.6.10', 'console_scripts', 'easy_install')()

 Or is that something different.  I'm not sure how to proceed. I tried
 leaving off the patch number and installing this way:

 easy_install ReviewBoard==1.7

 But I got different, uglier errors, so I thought I'd try to fix the 1.7.28
 problem first, since that's what I really want for testing. Can anybody
 help me fix this?

 --Steve



  --
 Supercharge your Review Board with Power Pack:
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons:
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 ---
 You received this message because you are subscribed to the Google Groups
 reviewboard group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to reviewboard+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
Supercharge your Review Board with Power 

Re: What is the correct approach when attempting to add multiple pre-commit diff files? (Multiple Parent Diffs)

2015-04-23 Thread David Trowbridge
Yeah, the raw file URL needs to have the revision in there somewhere. Since
you're using GitLab, you should just choose GitLab instead of None -
Custom Repository

-David

On Thu, Apr 23, 2015 at 10:52 AM Stephen Gallagher 
step...@gallagherhome.com wrote:

 On Thu, Apr 23, 2015 at 11:49 AM James Knight james.d.kni...@live.com
 wrote:

 Repository options are configured as follows:

- Hosting Service: None - Custom Repository
- Repository Type: Git
- Path: git@myserver:mygroup/myproject.git
- Raw file URL mask: http://myserver/mygroup/myproject/raw/develop/
filename


 This isn't going to work if you don't have a way to represent the
 individual file hashes. That's why it can't find them to compare. What tool
 are you using to view the files via the web? Generally, cgit and gitweb
 work best.

 --
 Supercharge your Review Board with Power Pack:
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons:
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 ---
 You received this message because you are subscribed to the Google Groups
 reviewboard group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to reviewboard+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Installation of 1.7.28 on new CentOS 6.6 box fails to find django-evolution-0.6.9

2015-04-23 Thread Steve
Our current servers are on CentOS 6.6 running RB 1.7.28.  I'm preparing to 
upgrade to 2.0 or 2.5, so I want to test out the migration.  To do that, 
I'm trying to install 1.7.28 on a fresh CentOS6.6 VM.  After installing the 
pre-reqs, I ran

easy_install ReviewBoard==1.7.28

It fails with this message:

Installed /usr/lib/python2.6/site-packages/Djblets-0.7.31-py2.6.egg
Reading http://downloads.reviewboard.org/releases/Djblets/0.7/
Searching for django-evolution=0.6.9,0.7
Reading http://pypi.python.org/simple/django_evolution/
Best match: django-evolution 0.6.9
Downloading 
http://downloads.reviewboard.org/releases/django-evolution/0.6/django_evolution-0.6.9-py2.6.egg#md5=d41d8cd98f00b204e9800998ecf8427e
Processing django_evolution-0.6.9-py2.6.egg
Traceback (most recent call last):
  File /usr/bin/easy_install, line 9, in module
load_entry_point('distribute==0.6.10', 'console_scripts', 
'easy_install')()
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
1715, in main
with_ei_usage(lambda:
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
1696, in with_ei_usage
return f()
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
1719, in lambda
distclass=DistributionWithoutHelpCommands, **kw
  File /usr/lib64/python2.6/distutils/core.py, line 152, in setup
dist.run_commands()
  File /usr/lib64/python2.6/distutils/dist.py, line 975, in run_commands
self.run_command(cmd)
  File /usr/lib64/python2.6/distutils/dist.py, line 995, in run_command
cmd_obj.run()
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
236, in run
self.easy_install(spec, not self.no_deps)
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
472, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
504, in install_item
self.process_distribution(spec, dist, deps)
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
545, in process_distribution
[requirement], self.local_index, self.easy_install
  File /usr/lib/python2.6/site-packages/pkg_resources.py, line 538, in 
resolve
dist = best[req.key] = env.best_match(req, self, installer)
  File /usr/lib/python2.6/site-packages/pkg_resources.py, line 780, in 
best_match
return self.obtain(req, installer) # try and download/install
  File /usr/lib/python2.6/site-packages/pkg_resources.py, line 792, in 
obtain
return installer(requirement)
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
472, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
502, in install_item
dists = self.install_eggs(spec, download, tmpdir)
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
645, in install_eggs
return [self.install_egg(dist_filename, tmpdir)]
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
696, in install_egg
dist = self.egg_distribution(egg_path)
  File 
/usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
687, in egg_distribution
metadata = EggMetadata(zipimport.zipimporter(egg_path))
zipimport.ZipImportError: can't read Zip file: 
'/tmp/easy_install-CNWVTO/django_evolution-0.6.9-py2.6.egg'


Does this line indicate it's confused about the version?

load_entry_point('distribute==0.6.10', 'console_scripts', 'easy_install')()

Or is that something different.  I'm not sure how to proceed. I tried 
leaving off the patch number and installing this way:

easy_install ReviewBoard==1.7

But I got different, uglier errors, so I thought I'd try to fix the 1.7.28 
problem first, since that's what I really want for testing. Can anybody 
help me fix this?

--Steve



-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Installation of 1.7.28 on new CentOS 6.6 box fails to find django-evolution-0.6.9

2015-04-23 Thread Steve
Yup, it's all good now.  Thanks!

--Steve


On Thursday, April 23, 2015 at 12:37:07 PM UTC-7, Christian Hammond wrote:

 Hi Steve,

 Give it a try now. Looks like a recent migration of the django_evolution 
 packages resulted in that file being truncated. I've fixed this and tested 
 the installation locally.

 Christian

 -- 
 Christian Hammond - chi...@chipx86.com javascript:
 Review Board - http://www.reviewboard.org
 Beanbag, Inc. - http://www.beanbaginc.com

 On Thu, Apr 23, 2015 at 12:28 PM, Christian Hammond chi...@chipx86.com 
 javascript: wrote:

 Hi Steve,

 I can confirm this. Let me see what I can see, and I'll get back to you.

 (You'll definitely need the patch number for ReviewBoard.)

 Christian

 -- 
 Christian Hammond - chi...@chipx86.com javascript:
 Review Board - http://www.reviewboard.org
 Beanbag, Inc. - http://www.beanbaginc.com

 On Thu, Apr 23, 2015 at 12:17 PM, Steve seide...@gmail.com javascript:
  wrote:

 Our current servers are on CentOS 6.6 running RB 1.7.28.  I'm preparing 
 to upgrade to 2.0 or 2.5, so I want to test out the migration.  To do that, 
 I'm trying to install 1.7.28 on a fresh CentOS6.6 VM.  After installing the 
 pre-reqs, I ran

 easy_install ReviewBoard==1.7.28

 It fails with this message:

 Installed /usr/lib/python2.6/site-packages/Djblets-0.7.31-py2.6.egg
 Reading http://downloads.reviewboard.org/releases/Djblets/0.7/
 Searching for django-evolution=0.6.9,0.7
 Reading http://pypi.python.org/simple/django_evolution/
 Best match: django-evolution 0.6.9
 Downloading 
 http://downloads.reviewboard.org/releases/django-evolution/0.6/django_evolution-0.6.9-py2.6.egg#md5=d41d8cd98f00b204e9800998ecf8427e
 Processing django_evolution-0.6.9-py2.6.egg
 Traceback (most recent call last):
   File /usr/bin/easy_install, line 9, in module
 load_entry_point('distribute==0.6.10', 'console_scripts', 
 'easy_install')()
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 1715, in main
 with_ei_usage(lambda:
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 1696, in with_ei_usage
 return f()
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 1719, in lambda
 distclass=DistributionWithoutHelpCommands, **kw
   File /usr/lib64/python2.6/distutils/core.py, line 152, in setup
 dist.run_commands()
   File /usr/lib64/python2.6/distutils/dist.py, line 975, in 
 run_commands
 self.run_command(cmd)
   File /usr/lib64/python2.6/distutils/dist.py, line 995, in run_command
 cmd_obj.run()
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 236, in run
 self.easy_install(spec, not self.no_deps)
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 472, in easy_install
 return self.install_item(spec, dist.location, tmpdir, deps)
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 504, in install_item
 self.process_distribution(spec, dist, deps)
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 545, in process_distribution
 [requirement], self.local_index, self.easy_install
   File /usr/lib/python2.6/site-packages/pkg_resources.py, line 538, in 
 resolve
 dist = best[req.key] = env.best_match(req, self, installer)
   File /usr/lib/python2.6/site-packages/pkg_resources.py, line 780, in 
 best_match
 return self.obtain(req, installer) # try and download/install
   File /usr/lib/python2.6/site-packages/pkg_resources.py, line 792, in 
 obtain
 return installer(requirement)
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 472, in easy_install
 return self.install_item(spec, dist.location, tmpdir, deps)
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 502, in install_item
 dists = self.install_eggs(spec, download, tmpdir)
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 645, in install_eggs
 return [self.install_egg(dist_filename, tmpdir)]
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 696, in install_egg
 dist = self.egg_distribution(egg_path)
   File 
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line 
 687, in egg_distribution
 metadata = EggMetadata(zipimport.zipimporter(egg_path))
 zipimport.ZipImportError: can't read Zip file: 
 '/tmp/easy_install-CNWVTO/django_evolution-0.6.9-py2.6.egg'


 Does this line indicate it's confused about the version?

 load_entry_point('distribute==0.6.10', 'console_scripts', 
 'easy_install')()

 Or is that something different.  I'm not sure how to proceed. I tried 
 leaving off the patch number and installing this way:

 easy_install ReviewBoard==1.7

 But I got different, uglier errors, so I thought I'd try to fix the 
 1.7.28 problem first, since that's what I really want 

Re: RB 1.7.28 with Python 2.6.6 is requring non-existant importlib

2015-04-23 Thread Christian Hammond
Hi Steve,

We shouldn't need that dependency. I remember seeing this somewhere
recently, and think it had to do with the version of Django, maybe? Can you
just verify what version you're running?

Christian

-- 
Christian Hammond - chip...@chipx86.com
Review Board - http://www.reviewboard.org
Beanbag, Inc. - http://www.beanbaginc.com

On Thu, Apr 23, 2015 at 2:13 PM, Steve seide.al...@gmail.com wrote:

 easy_install importlib

 fixes the problem, but it looks like a dependency is missing in the rb
 installer.

 --Steve


 On Thursday, April 23, 2015 at 2:09:43 PM UTC-7, Steve wrote:

 I've installed RB 1.7.28 on a new CentOS 6.6. VM which has python 2.6.6.
 When I run

 rb-site install /var/www/rb

 I get this error:

 * Installing the site...
 Building site directories ... OK
 Building site configuration files ... OK
 Creating database ...
 [!] Unable to execute the manager command syncdb: No module named
 importlib
 Error: One or more models did not validate:
 scmtools.repository: 'review_groups' has an m2m relation with model
 reviews.Group, which has either not been installed or is abstract.

 If the installer is expecting importlib, that may be a problem since I
 believe that's new in Python 2.7.  Or was importlib supposed to be
 installed with RB?

 --Steve




  --
 Supercharge your Review Board with Power Pack:
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons:
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 ---
 You received this message because you are subscribed to the Google Groups
 reviewboard group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to reviewboard+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: RB 1.7.28 with Python 2.6.6 is requring non-existant importlib

2015-04-23 Thread Christian Hammond
Weird.

I just checked the source of Django, Review Board, and Django Evolution.
The only references to importlib in any of those are Django's bundled
version (django.utils.importlib), so that shouldn't be happening, unless
there's some other module involved somewhere in the process that's causing
that. It would require some manual tracing to figure it out, though...

Is it working after you installed importlib?

Christian

-- 
Christian Hammond - chip...@chipx86.com
Review Board - http://www.reviewboard.org
Beanbag, Inc. - http://www.beanbaginc.com

On Thu, Apr 23, 2015 at 2:45 PM, Steve seide.al...@gmail.com wrote:

 Here's what got installed:

 [root@localhost site-packages]# ls -d *jan*
 Django-1.4.20-py2.6.egg  django_evolution-0.6.9-py2.6.egg
 django_pipeline-1.2.24-py2.6.egg

 --steve

 On Thursday, April 23, 2015 at 2:33:12 PM UTC-7, Christian Hammond wrote:

 Hi Steve,

 We shouldn't need that dependency. I remember seeing this somewhere
 recently, and think it had to do with the version of Django, maybe? Can you
 just verify what version you're running?

 Christian

 --
 Christian Hammond - chi...@chipx86.com
 Review Board - http://www.reviewboard.org
 Beanbag, Inc. - http://www.beanbaginc.com

 On Thu, Apr 23, 2015 at 2:13 PM, Steve seide...@gmail.com wrote:

 easy_install importlib

 fixes the problem, but it looks like a dependency is missing in the rb
 installer.

 --Steve


 On Thursday, April 23, 2015 at 2:09:43 PM UTC-7, Steve wrote:

 I've installed RB 1.7.28 on a new CentOS 6.6. VM which has python
 2.6.6.  When I run

 rb-site install /var/www/rb

 I get this error:

 * Installing the site...
 Building site directories ... OK
 Building site configuration files ... OK
 Creating database ...
 [!] Unable to execute the manager command syncdb: No module named
 importlib
 Error: One or more models did not validate:
 scmtools.repository: 'review_groups' has an m2m relation with model
 reviews.Group, which has either not been installed or is abstract.

 If the installer is expecting importlib, that may be a problem since I
 believe that's new in Python 2.7.  Or was importlib supposed to be
 installed with RB?

 --Steve




  --
 Supercharge your Review Board with Power Pack:
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons:
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 ---
 You received this message because you are subscribed to the Google
 Groups reviewboard group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to reviewboard...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.




-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


RB 1.7.28 with Python 2.6.6 is requring non-existant importlib

2015-04-23 Thread Steve
I've installed RB 1.7.28 on a new CentOS 6.6. VM which has python 2.6.6.  
When I run 

rb-site install /var/www/rb

I get this error:

* Installing the site...
Building site directories ... OK
Building site configuration files ... OK
Creating database ... 
[!] Unable to execute the manager command syncdb: No module named
importlib
 Error: One or more models did not validate:
 scmtools.repository: 'review_groups' has an m2m relation with model 
reviews.Group, which has either not been installed or is abstract.

If the installer is expecting importlib, that may be a problem since I 
believe that's new in Python 2.7.  Or was importlib supposed to be 
installed with RB?

--Steve




-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: RB 1.7.28 with Python 2.6.6 is requring non-existant importlib

2015-04-23 Thread Steve
easy_install importlib

fixes the problem, but it looks like a dependency is missing in the rb 
installer.

--Steve

On Thursday, April 23, 2015 at 2:09:43 PM UTC-7, Steve wrote:

 I've installed RB 1.7.28 on a new CentOS 6.6. VM which has python 2.6.6.  
 When I run 

 rb-site install /var/www/rb

 I get this error:

 * Installing the site...
 Building site directories ... OK
 Building site configuration files ... OK
 Creating database ... 
 [!] Unable to execute the manager command syncdb: No module named
 importlib
  Error: One or more models did not validate:
  scmtools.repository: 'review_groups' has an m2m relation with model 
 reviews.Group, which has either not been installed or is abstract.

 If the installer is expecting importlib, that may be a problem since I 
 believe that's new in Python 2.7.  Or was importlib supposed to be 
 installed with RB?

 --Steve






-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: What is the correct approach when attempting to add multiple pre-commit diff files? (Multiple Parent Diffs)

2015-04-23 Thread James Knight
First of all, thanks for the replies; I appreciate the help.

@Stephen Gallagher
I think this is were I am failing to communicate. I'm not trying to have my 
Git repository or web viewer to represent the file hashes as I haven't 
pushed anything to a remote Git repository. I'm hoping to avoid this by 
providing raw patches with full Git indexes to fill in the gap.

I'm going off the concept I see here 
https://www.reviewboard.org/docs/manual/2.0/webapi/2.0/resources/diff-list/
.

A parent diff can be uploaded along with the main diff. A parent diff is a 
 diff based on an existing commit in the repository, which will be applied 
 before the main diff. The parent diff will not be included in the diff 
 viewer. It’s useful when developing a change based on a branch that is not 
 yet committed. In this case, a parent diff of the parent branch would be 
 provided along with the diff of the new commit, and only the new commit 
 will be shown.


I'm assuming that ReviewBoard just doesn't support multiple parent diffs. 
My current work around is to squash the series of parent commits for a 
given patch and add rebase my commits off their respective squashed 
parents. This will provide me with both my diff to review and a parent diff 
that I can submit to ReviewBoard. For example:

 {Local}

 Commit 4
|
 Commit 3
|
 Commit 2  Commit 3b   Commit 4b
| |   |
 Commit 1   Squash Commit 1-2   Squash Commit 1-3
| |   |
|-|
|
 Commit F
|
 Commit E


   - 
   - Make review 1 with `Commit 1` patch.
   - Make review 2 with `Commit 2` patch with parent `Commit 1` patch.
   - Make review 3 with `Commit 3b` patch with parent `Squash Commit 1-2` 
   patch.
   - Make review 4 with `Commit 4b` patch with parent `Squash Commit 1-3` 
   patch.

Again, I know this isn't ideal but it works for now.

@David Trowbridge

I can't use the GitLab optional since it requires (to my knowledge) it's 
either for online GitLab hosting (which it not what I'm using; using a 
local GitLab CE installation) or requires an account setup on the GitLab 
server (which again, will not for us since we use LDAP and favor deployment 
keys). Unless there's another option I'm missing?

On Thursday, April 23, 2015 at 4:03:59 PM UTC-4, David Trowbridge wrote:

 Yeah, the raw file URL needs to have the revision in there somewhere. 
 Since you're using GitLab, you should just choose GitLab instead of None 
 - Custom Repository

 -David

 On Thu, Apr 23, 2015 at 10:52 AM Stephen Gallagher 
 ste...@gallagherhome.com javascript: wrote:

 On Thu, Apr 23, 2015 at 11:49 AM James Knight james.d...@live.com 
 javascript: wrote:

 Repository options are configured as follows:

- Hosting Service: None - Custom Repository
- Repository Type: Git
- Path: git@myserver:mygroup/myproject.git
- Raw file URL mask: http://myserver/mygroup/myproject/raw/develop/
filename


 This isn't going to work if you don't have a way to represent the 
 individual file hashes. That's why it can't find them to compare. What tool 
 are you using to view the files via the web? Generally, cgit and gitweb 
 work best.

 -- 
 Supercharge your Review Board with Power Pack: 
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons: 
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 --- 
 You received this message because you are subscribed to the Google Groups 
 reviewboard group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to reviewboard...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.



-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: RB 1.7.28 with Python 2.6.6 is requring non-existant importlib

2015-04-23 Thread Steve
Here's what got installed:

[root@localhost site-packages]# ls -d *jan*
Django-1.4.20-py2.6.egg  django_evolution-0.6.9-py2.6.egg  
django_pipeline-1.2.24-py2.6.egg

--steve

On Thursday, April 23, 2015 at 2:33:12 PM UTC-7, Christian Hammond wrote:

 Hi Steve,

 We shouldn't need that dependency. I remember seeing this somewhere 
 recently, and think it had to do with the version of Django, maybe? Can you 
 just verify what version you're running?

 Christian

 -- 
 Christian Hammond - chi...@chipx86.com javascript:
 Review Board - http://www.reviewboard.org
 Beanbag, Inc. - http://www.beanbaginc.com

 On Thu, Apr 23, 2015 at 2:13 PM, Steve seide...@gmail.com javascript: 
 wrote:

 easy_install importlib

 fixes the problem, but it looks like a dependency is missing in the rb 
 installer.

 --Steve


 On Thursday, April 23, 2015 at 2:09:43 PM UTC-7, Steve wrote:

 I've installed RB 1.7.28 on a new CentOS 6.6. VM which has python 
 2.6.6.  When I run 

 rb-site install /var/www/rb

 I get this error:

 * Installing the site...
 Building site directories ... OK
 Building site configuration files ... OK
 Creating database ... 
 [!] Unable to execute the manager command syncdb: No module named
 importlib
 Error: One or more models did not validate:
 scmtools.repository: 'review_groups' has an m2m relation with model 
 reviews.Group, which has either not been installed or is abstract.

 If the installer is expecting importlib, that may be a problem since I 
 believe that's new in Python 2.7.  Or was importlib supposed to be 
 installed with RB?

 --Steve




  -- 
 Supercharge your Review Board with Power Pack: 
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons: 
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 --- 
 You received this message because you are subscribed to the Google Groups 
 reviewboard group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to reviewboard...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.




-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: What is the correct approach when attempting to add multiple pre-commit diff files? (Multiple Parent Diffs)

2015-04-23 Thread Stephen Gallagher
You're missing the point though. You still have to have an addressable hash
from the repo in order to establish a baseline or else none of the parent
diffs will have anything to compare against.
On Thu, Apr 23, 2015 at 5:23 PM James Knight james.d.kni...@live.com
wrote:

 First of all, thanks for the replies; I appreciate the help.

 @Stephen Gallagher
 I think this is were I am failing to communicate. I'm not trying to have
 my Git repository or web viewer to represent the file hashes as I haven't
 pushed anything to a remote Git repository. I'm hoping to avoid this by
 providing raw patches with full Git indexes to fill in the gap.

 I'm going off the concept I see here
 https://www.reviewboard.org/docs/manual/2.0/webapi/2.0/resources/diff-list/
 .

 A parent diff can be uploaded along with the main diff. A parent diff is a
 diff based on an existing commit in the repository, which will be applied
 before the main diff. The parent diff will not be included in the diff
 viewer. It’s useful when developing a change based on a branch that is not
 yet committed. In this case, a parent diff of the parent branch would be
 provided along with the diff of the new commit, and only the new commit
 will be shown.


 I'm assuming that ReviewBoard just doesn't support multiple parent diffs.
 My current work around is to squash the series of parent commits for a
 given patch and add rebase my commits off their respective squashed
 parents. This will provide me with both my diff to review and a parent diff
 that I can submit to ReviewBoard. For example:

  {Local}

  Commit 4
 |
  Commit 3
 |
  Commit 2  Commit 3b   Commit 4b
 | |   |
  Commit 1   Squash Commit 1-2   Squash Commit 1-3
 | |   |
 |-|
 |
  Commit F
 |
  Commit E


-
- Make review 1 with `Commit 1` patch.
- Make review 2 with `Commit 2` patch with parent `Commit 1` patch.
- Make review 3 with `Commit 3b` patch with parent `Squash Commit 1-2`
patch.
- Make review 4 with `Commit 4b` patch with parent `Squash Commit 1-3`
patch.

 Again, I know this isn't ideal but it works for now.

 @David Trowbridge

 I can't use the GitLab optional since it requires (to my knowledge) it's
 either for online GitLab hosting (which it not what I'm using; using a
 local GitLab CE installation) or requires an account setup on the GitLab
 server (which again, will not for us since we use LDAP and favor deployment
 keys). Unless there's another option I'm missing?


 On Thursday, April 23, 2015 at 4:03:59 PM UTC-4, David Trowbridge wrote:

 Yeah, the raw file URL needs to have the revision in there somewhere.
 Since you're using GitLab, you should just choose GitLab instead of None
 - Custom Repository

 -David

 On Thu, Apr 23, 2015 at 10:52 AM Stephen Gallagher 
 ste...@gallagherhome.com wrote:

 On Thu, Apr 23, 2015 at 11:49 AM James Knight james.d...@live.com
 wrote:

 Repository options are configured as follows:

- Hosting Service: None - Custom Repository
- Repository Type: Git
- Path: git@myserver:mygroup/myproject.git
- Raw file URL mask: http://myserver/mygroup/myproject/raw/develop/
filename


 This isn't going to work if you don't have a way to represent the
 individual file hashes. That's why it can't find them to compare. What tool
 are you using to view the files via the web? Generally, cgit and gitweb
 work best.

 --
 Supercharge your Review Board with Power Pack:
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons:
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 ---
 You received this message because you are subscribed to the Google
 Groups reviewboard group.

 To unsubscribe from this group and stop receiving emails from it, send an
 email to reviewboard...@googlegroups.com.


 For more options, visit https://groups.google.com/d/optout.

  --
 Supercharge your Review Board with Power Pack:
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons:
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 ---
 You received this message because you are subscribed to the Google Groups
 reviewboard group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to reviewboard+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, 

Re: Issue 3794 in reviewboard: Rendering issue when viewing All Review Requests with Diff Size column enabled

2015-04-23 Thread reviewboard

Updates:
Status: Fixed

Comment #1 on issue 3794 by bar...@beanbaginc.com: Rendering issue when  
viewing All Review Requests with Diff Size column enabled

https://code.google.com/p/reviewboard/issues/detail?id=3794

The fix for this issue has landed on the Djblets 0.9.x and master branches  
as commit 1be29a and on the release-0.8.x branch as commit 05db43a. The fix  
will be available in all future minor and major releases of Review Board.


--
You received this message because this project is configured to send all  
issue notifications to this address.

You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
You received this message because you are subscribed to the Google Groups 
reviewboard-issues group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard-issues+unsubscr...@googlegroups.com.
To post to this group, send email to reviewboard-issues@googlegroups.com.
Visit this group at http://groups.google.com/group/reviewboard-issues.
For more options, visit https://groups.google.com/d/optout.


Re: why does rbt post have to fetch SCM credentials from RB and not just my client m/c

2015-04-23 Thread unknown
 When i give the worng credentials in RB repository page and try to post 
from cmd promt (i.e. rbt post) , it fails as shown :

http://localhost:8080/reviewboard/api/review-requests/180/diffs/
ERROR: Error uploading diff


One or more fields had errors (HTTP 400, API Error 105)

path: [P4#run] Errors during command execution( p4 login )

[Error]: Access for user 'wrong_userid' has not been enabled by 
'p4 protect'.


Your review request still exists, but the diff is not attached.

http://localhost:8080/reviewboard/r/180/

So it tries to log into SCM using ReviewBoard repository login details, 
right ?
why cant it just take it from my local machine ?

On Thursday, April 23, 2015 at 4:18:26 PM UTC+5:30, unknown wrote:

 Hi

 why does rbt post have to fetch SCM credentials from RB and not just my 
 client m/c

 rbt diff takes perforce login details from client machine and why cant rbt 
 post do the same?

 And where exactly is the function where it fetches the login from Review 
 Board site ?

 Tnx


-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Installation of 1.7.28 on new CentOS 6.6 box fails to find django-evolution-0.6.9

2015-04-23 Thread Christian Hammond
Hi Steve,

Give it a try now. Looks like a recent migration of the django_evolution
packages resulted in that file being truncated. I've fixed this and tested
the installation locally.

Christian

-- 
Christian Hammond - chip...@chipx86.com
Review Board - http://www.reviewboard.org
Beanbag, Inc. - http://www.beanbaginc.com

On Thu, Apr 23, 2015 at 12:28 PM, Christian Hammond chip...@chipx86.com
wrote:

 Hi Steve,

 I can confirm this. Let me see what I can see, and I'll get back to you.

 (You'll definitely need the patch number for ReviewBoard.)

 Christian

 --
 Christian Hammond - chip...@chipx86.com
 Review Board - http://www.reviewboard.org
 Beanbag, Inc. - http://www.beanbaginc.com

 On Thu, Apr 23, 2015 at 12:17 PM, Steve seide.al...@gmail.com wrote:

 Our current servers are on CentOS 6.6 running RB 1.7.28.  I'm preparing
 to upgrade to 2.0 or 2.5, so I want to test out the migration.  To do that,
 I'm trying to install 1.7.28 on a fresh CentOS6.6 VM.  After installing the
 pre-reqs, I ran

 easy_install ReviewBoard==1.7.28

 It fails with this message:

 Installed /usr/lib/python2.6/site-packages/Djblets-0.7.31-py2.6.egg
 Reading http://downloads.reviewboard.org/releases/Djblets/0.7/
 Searching for django-evolution=0.6.9,0.7
 Reading http://pypi.python.org/simple/django_evolution/
 Best match: django-evolution 0.6.9
 Downloading
 http://downloads.reviewboard.org/releases/django-evolution/0.6/django_evolution-0.6.9-py2.6.egg#md5=d41d8cd98f00b204e9800998ecf8427e
 Processing django_evolution-0.6.9-py2.6.egg
 Traceback (most recent call last):
   File /usr/bin/easy_install, line 9, in module
 load_entry_point('distribute==0.6.10', 'console_scripts',
 'easy_install')()
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 1715, in main
 with_ei_usage(lambda:
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 1696, in with_ei_usage
 return f()
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 1719, in lambda
 distclass=DistributionWithoutHelpCommands, **kw
   File /usr/lib64/python2.6/distutils/core.py, line 152, in setup
 dist.run_commands()
   File /usr/lib64/python2.6/distutils/dist.py, line 975, in run_commands
 self.run_command(cmd)
   File /usr/lib64/python2.6/distutils/dist.py, line 995, in run_command
 cmd_obj.run()
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 236, in run
 self.easy_install(spec, not self.no_deps)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 472, in easy_install
 return self.install_item(spec, dist.location, tmpdir, deps)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 504, in install_item
 self.process_distribution(spec, dist, deps)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 545, in process_distribution
 [requirement], self.local_index, self.easy_install
   File /usr/lib/python2.6/site-packages/pkg_resources.py, line 538, in
 resolve
 dist = best[req.key] = env.best_match(req, self, installer)
   File /usr/lib/python2.6/site-packages/pkg_resources.py, line 780, in
 best_match
 return self.obtain(req, installer) # try and download/install
   File /usr/lib/python2.6/site-packages/pkg_resources.py, line 792, in
 obtain
 return installer(requirement)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 472, in easy_install
 return self.install_item(spec, dist.location, tmpdir, deps)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 502, in install_item
 dists = self.install_eggs(spec, download, tmpdir)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 645, in install_eggs
 return [self.install_egg(dist_filename, tmpdir)]
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 696, in install_egg
 dist = self.egg_distribution(egg_path)
   File
 /usr/lib/python2.6/site-packages/setuptools/command/easy_install.py, line
 687, in egg_distribution
 metadata = EggMetadata(zipimport.zipimporter(egg_path))
 zipimport.ZipImportError: can't read Zip file:
 '/tmp/easy_install-CNWVTO/django_evolution-0.6.9-py2.6.egg'


 Does this line indicate it's confused about the version?

 load_entry_point('distribute==0.6.10', 'console_scripts',
 'easy_install')()

 Or is that something different.  I'm not sure how to proceed. I tried
 leaving off the patch number and installing this way:

 easy_install ReviewBoard==1.7

 But I got different, uglier errors, so I thought I'd try to fix the
 1.7.28 problem first, since that's what I really want for testing. Can
 anybody help me fix this?

 --Steve



  --
 Supercharge your Review Board with Power Pack:
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons:
 

Best Approach to Reconstruct Repo with Changes

2015-04-23 Thread jameslam91744
Hello Review Board users / developers,

What is the recommended approach for reconstructing a work copy of the 
changes in a review request?

I am most specifically interested in Git where branching may occur.

It seems that an approach would be to 

1. Checkout the repo with the base revision which I can get from the Review 
Board API.
2. rbt patch to apply the changes

However, it seems that I can't always just checkout from the base revision 
as that revision may be in a unpushed branch.

How can I reconstruct the repo up to the point where the base revision is 
if I can't directly check out the changes. Does Review Board store all the 
diffs leading up to the uploaded diff for branches? Is this information 
exposed to the user?

Thanks!

-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: What is the correct approach when attempting to add multiple pre-commit diff files? (Multiple Parent Diffs)

2015-04-23 Thread James Knight
Sorry, I don't understand.

My root patch has an addressable hash from the repository. When I initially 
showed the following diagram, the intent was to show that my local and 
ReviewBoard-watched remote repository are in sync.

   {ReviewBoard}
 /\
 ||
 \/
 {Local}  {Remote}
 
 Commit F  Commit F
| |
 Commit E  Commit E

If I then make a commit in my local repository, generate a patch, I can 
submit it successfully to ReviewBoard since all file indexes are 
addressable:

/- (patch) -  {ReviewBoard}
   / /\
  /  ||
  |  \/
   \ {Local}  {Remote}
\  
 Commit 1
|
 Commit F  Commit F
| |
 Commit E  Commit E

The patch changes to existing file indexes will all exist in Commit F 
(which ReviewBoard can handle) and any new files will have a zeroed-file 
index. If I introduce a new file in commit 1, I'll have an entry in my diff 
as follows:

diff --git a/newfile b/newfile
new file mode 100644
index 
..E0C9035898DD52FC65C41454CEC9C4D2611BFB37
--- /dev/null
+++ b/newfile

Now, if I have a second commit which modifies the file 
(E0C9035898DD52FC65C41454CEC9C4D2611BFB37) I've introduced in Commit 1, 
ReviewBoard will not accept the patch since it cannot find the 
E0C9035898DD52FC65C41454CEC9C4D2611BFB37 object.

/- (patch) -  {ReviewBoard}-- Will fail.
   / /\
  /  ||
  |  \/
   \ {Local}  {Remote}
\  
 Commit 2
|
 Commit 1
|
 Commit F  Commit F
| |
 Commit E  Commit E

Luckily, ReviewBoard supports uploading parent DIFF's so I can bridge the 
gap. By uploading my Commit 2 DIFF with a parent Commit 1 DIFF, ReviewBoard 
accepts the patch with no issues. I assume that this is the case since 
ReviewBoard has a list of all file indexes from Commit F and an overlay of 
file indexes from the parent DIFF provided. Therefore, if my Commit 2 has 
the following:

diff --git a/newfile b/newfile
new file mode 100644
index 
E0C9035898DD52FC65C41454CEC9C4D2611BFB37..7E240DE74FB1ED08FA08D38063F6A6A91462A815
+++ a/newfile
+++ b/newfile

ReviewBoard can establish following:

 - 
E0C9035898DD52FC65C41454CEC9C4D2611BFB37 - 
7E240DE74FB1ED08FA08D38063F6A6A91462A815

And the following will work:

/--- (parent patch) \
   /\/
  / /- (patch) -  {ReviewBoard}-- Will work.
 / / /\
/ /  ||
| |  \/
|  \ {Local}  {Remote}
 \  \  
  \  Commit 2
   \|
 Commit 1
|
 Commit F  Commit F
| |
 Commit E  Commit E

This leads back to the initial question. If I had a third commit (or more), 
how can I get ReviewBoard to interpret the changes? From what it looks 
like, it doesn't seem possible. For example, if Commit 3 had the following:

diff --git a/newfile b/newfile
new file mode 100644
index 
7E240DE74FB1ED08FA08D38063F6A6A91462A815..70C881D4A26984DDCE795F6F71817C9CF4480E79
+++ a/newfile
+++ b/newfile

There is no means which I can provide all three (3) DIFFs to ReviewBoard to 
establish this chain:

 - 
E0C9035898DD52FC65C41454CEC9C4D2611BFB37 - 
7E240DE74FB1ED08FA08D38063F6A6A91462A815 - 
70C881D4A26984DDCE795F6F71817C9CF4480E79

I don't know how to explain it more than that. :(

On Thursday, April 23, 2015 at 6:09:41 PM UTC-4, Stephen Gallagher wrote:

 You're missing the point though. You still have to have an addressable 
 hash from the repo in order to establish a baseline or else none of the 
 parent diffs will have anything to compare against.
 On Thu, Apr 23, 2015 at 5:23 PM James Knight james.d...@live.com 
 javascript: wrote:

 First of all, thanks for the replies; I appreciate the help.

 @Stephen Gallagher
 I think this is were I am failing to communicate. I'm not trying to have 
 my Git repository or web viewer to represent the file hashes as I haven't 
 pushed anything to a remote Git repository. I'm hoping to avoid this by 
 providing raw patches with full Git indexes to fill in the gap.

 I'm going off the concept I see here 
 https://www.reviewboard.org/docs/manual/2.0/webapi/2.0/resources/diff-list/
 .

 A parent diff can be uploaded along with the main diff. A parent diff is 
 a diff based on an existing commit in the repository, which will be applied 
 before the main diff. The parent diff will not be included in the diff 
 viewer. It’s useful when developing a change based on a branch that is not 
 yet committed. In this case, a parent diff of the parent branch would be 
 provided along with the diff of the new commit, and only the new commit 
 will be shown.


 I'm assuming that ReviewBoard just doesn't support multiple 

Re: Command Line tool for Review Board administration

2015-04-23 Thread GC


Thanks for the reply Christian. As far as our requests related to 
repositories is concerned, it’s only about adding (not updating) Name, 
Repository type, Path and Mirror path.


I checked the API link for repository resource. Although I could find 
fields for Name, Path and Mirror path, i could not find any field for 
‘Repository type’ (Bazaaar, Clearcase, CVS etc). Is ‘tool’ field what I’m 
looking for? More importantly, it looks like the API supports only updation 
not addition. Please correct me if I’m wrong. 


https://www.reviewboard.org/docs/manual/2.5/webapi/2.0/resources/repository/



Regards,

Gaurav 



On Thursday, April 23, 2015 at 2:45:15 AM UTC+5:30, Christian Hammond wrote:

 Hi,

 We don't provide a tool for adding those (though that'd be a handy project 
 for someone to work on). We do have an API, though, for adding/manipulating 
 repositories, default reviewers, review requests, and just about anything 
 else.

 It does not support adding users, though. Most people use an LDAP or 
 Active Directory server when they need that kind of ability. That said, I'm 
 not opposed to adding that functionality, but it'd be low on our todo list, 
 so the best way to get that into the product is by writing a patch and 
 contributing it.

 Christian

 -- 
 Christian Hammond - chi...@chipx86.com javascript:
 Review Board - http://www.reviewboard.org
 Beanbag, Inc. - http://www.beanbaginc.com

 On Wed, Apr 22, 2015 at 3:04 AM, GC varuag@gmail.com javascript: 
 wrote:

 Hi,


 Does Review Board provides a CLI for administrators? We use Git as our 
 version control system and we receive following requests from time-to-time:

 Add repository
 Add user
 Add reviewers (Not very frequent)

 Although these operations don’t consume much time, I would like to 
 automate them, if possible.


 Thanks

 -- 
 Supercharge your Review Board with Power Pack: 
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons: 
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 --- 
 You received this message because you are subscribed to the Google Groups 
 reviewboard group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to reviewboard...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.




-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


why does rbt post have to fetch SCM credentials from RB and not just my client m/c

2015-04-23 Thread XYZ
Hi

why does rbt post have to fetch SCM credentials from RB and not just my 
client m/c

rbt diff takes perforce login details from client machine and why cant rbt 
post do the same?

And where exactly is the function where it fetches the login from Review 
Board site ?

Tnx

-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: What is the correct approach when attempting to add multiple pre-commit diff files? (Multiple Parent Diffs)

2015-04-23 Thread Christian Hammond
Hey James,

The problem really has to do with the limitations we're under when talking
to a Git repository. Let me go into that and then I'll go into how that
relates to what you're dealing with.

The reason that raw file URL field exists is because, with Git, it's not
possible to request a given file at a given SHA. You can clone the whole
repository, but that's not something Review Board can sanely do for every
change.

So, what we do instead is we build a URL, based off the mask provided, that
can give us the raw contents of a file, given a file path and a blob SHA1.

We need this so that we have a source file to apply a patch on top of.
Without that, we can't show a side-by-side diff.

Some services provide such a URL. GitWeb, for instance, has one. GitLab
does not. For GitLab, we have to instead query their API to get the data we
need. That requires such things as API tokens and other IDs, which Review
Board has special code to deal with, but that only works when selecting
GitLab as a hosting service.

Without either a selected (compatible) hosting service or a suitable Raw
File URL, we just have no ability to get the data needed in order to render
a change consistently.

If you have such a URL but without the field for the SHA, and you're only
ever dealing with reviewing changes on top of the very latest revision in
the repository, it will work, but that's going to fail the very moment
someone puts something up for review that is based on an older commit (and
this will happen in real usage all the time), or on top of a commit in a
branch other than 'master'.

Now, as for the analysis you've done, and the need for a third file, the
reason this is at all a problem is because you don't have the above setup,
so you're having to play games with your repository in a way that just
doesn't work.

If you did have such a setup, what you'd do is generate a diff between the
latest upstream commit and the commit just before the one you want to post
for review. That diff may cover a whole number of commits, but it doesn't
matter. That's the parent diff. Once we fetch the proper source file from
the repository (using the hosting service or the raw file URL), we apply
the parent diff, and treat that as the base for the diff being reviewed.
Then, we apply the diff representing the commit(s) you want to actually
review.

RBTools takes care of all this automatically, letting you just do:

$ rbt post mysha

Christian

-- 
Christian Hammond - chip...@chipx86.com
Review Board - http://www.reviewboard.org
Beanbag, Inc. - http://www.beanbaginc.com

On Thu, Apr 23, 2015 at 4:16 PM, James Knight james.d.kni...@live.com
wrote:

 Sorry, I don't understand.

 My root patch has an addressable hash from the repository. When I
 initially showed the following diagram, the intent was to show that my
 local and ReviewBoard-watched remote repository are in sync.

{ReviewBoard}
  /\
  ||
  \/
  {Local}  {Remote}

  Commit F  Commit F
 | |
  Commit E  Commit E

 If I then make a commit in my local repository, generate a patch, I can
 submit it successfully to ReviewBoard since all file indexes are
 addressable:

 /- (patch) -  {ReviewBoard}
/ /\
   /  ||
   |  \/
\ {Local}  {Remote}
 \
  Commit 1
 |
  Commit F  Commit F
 | |
  Commit E  Commit E

 The patch changes to existing file indexes will all exist in Commit F
 (which ReviewBoard can handle) and any new files will have a zeroed-file
 index. If I introduce a new file in commit 1, I'll have an entry in my diff
 as follows:

 diff --git a/newfile b/newfile
 new file mode 100644
 index
 ..E0C9035898DD52FC65C41454CEC9C4D2611BFB37
 --- /dev/null
 +++ b/newfile

 Now, if I have a second commit which modifies the file
 (E0C9035898DD52FC65C41454CEC9C4D2611BFB37) I've introduced in Commit 1,
 ReviewBoard will not accept the patch since it cannot find the
 E0C9035898DD52FC65C41454CEC9C4D2611BFB37 object.

 /- (patch) -  {ReviewBoard}-- Will fail.
/ /\
   /  ||
   |  \/
\ {Local}  {Remote}
 \
  Commit 2
 |
  Commit 1
 |
  Commit F  Commit F
 | |
  Commit E  Commit E

 Luckily, ReviewBoard supports uploading parent DIFF's so I can bridge the
 gap. By uploading my Commit 2 DIFF with a parent Commit 1 DIFF, ReviewBoard
 accepts the patch with no issues. I assume that this is the case since
 ReviewBoard has a list of all file indexes from Commit F and an overlay of
 file indexes from the parent DIFF provided. Therefore, if my Commit 2 has
 the following:

 diff --git a/newfile b/newfile
 new file mode 100644
 index
 

Re: RB 1.7.28 with Python 2.6.6 is requring non-existant importlib

2015-04-23 Thread Steve
Yes, it's working now.  And I checked my current 1.7.28 production servers 
and they all have importlib installed, but I don't know how or when it was 
installed.

--Steve


On Thursday, April 23, 2015 at 2:55:52 PM UTC-7, Christian Hammond wrote:

 Weird.

 I just checked the source of Django, Review Board, and Django Evolution. 
 The only references to importlib in any of those are Django's bundled 
 version (django.utils.importlib), so that shouldn't be happening, unless 
 there's some other module involved somewhere in the process that's causing 
 that. It would require some manual tracing to figure it out, though...

 Is it working after you installed importlib?

 Christian

 -- 
 Christian Hammond - chi...@chipx86.com javascript:
 Review Board - http://www.reviewboard.org
 Beanbag, Inc. - http://www.beanbaginc.com

 On Thu, Apr 23, 2015 at 2:45 PM, Steve seide...@gmail.com javascript: 
 wrote:

 Here's what got installed:

 [root@localhost site-packages]# ls -d *jan*
 Django-1.4.20-py2.6.egg  django_evolution-0.6.9-py2.6.egg  
 django_pipeline-1.2.24-py2.6.egg

 --steve

 On Thursday, April 23, 2015 at 2:33:12 PM UTC-7, Christian Hammond wrote:

 Hi Steve,

 We shouldn't need that dependency. I remember seeing this somewhere 
 recently, and think it had to do with the version of Django, maybe? Can you 
 just verify what version you're running?

 Christian

 -- 
 Christian Hammond - chi...@chipx86.com
 Review Board - http://www.reviewboard.org
 Beanbag, Inc. - http://www.beanbaginc.com

 On Thu, Apr 23, 2015 at 2:13 PM, Steve seide...@gmail.com wrote:

 easy_install importlib

 fixes the problem, but it looks like a dependency is missing in the rb 
 installer.

 --Steve


 On Thursday, April 23, 2015 at 2:09:43 PM UTC-7, Steve wrote:

 I've installed RB 1.7.28 on a new CentOS 6.6. VM which has python 
 2.6.6.  When I run 

 rb-site install /var/www/rb

 I get this error:

 * Installing the site...
 Building site directories ... OK
 Building site configuration files ... OK
 Creating database ... 
 [!] Unable to execute the manager command syncdb: No module named
 importlib
 Error: One or more models did not validate:
 scmtools.repository: 'review_groups' has an m2m relation with model 
 reviews.Group, which has either not been installed or is abstract.

 If the installer is expecting importlib, that may be a problem since I 
 believe that's new in Python 2.7.  Or was importlib supposed to be 
 installed with RB?

 --Steve




  -- 
 Supercharge your Review Board with Power Pack: 
 https://www.reviewboard.org/powerpack/
 Want us to host Review Board for you? Check out RBCommons: 
 https://rbcommons.com/
 Happy user? Let us know! https://www.reviewboard.org/users/
 --- 
 You received this message because you are subscribed to the Google 
 Groups reviewboard group.
 To unsubscribe from this group and stop receiving emails from it, send 
 an email to reviewboard...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.





-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
reviewboard group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: What is the correct approach when attempting to add multiple pre-commit diff files? (Multiple Parent Diffs)

2015-04-23 Thread James Knight
Ah, completely understand now. Sorry for the trouble folks.

Thanks Christian (and of course David and Stephen as well).

On Thursday, April 23, 2015 at 8:22:42 PM UTC-4, Christian Hammond wrote:

 Hey James,

 The problem really has to do with the limitations we're under when talking 
 to a Git repository. Let me go into that and then I'll go into how that 
 relates to what you're dealing with.

 The reason that raw file URL field exists is because, with Git, it's not 
 possible to request a given file at a given SHA. You can clone the whole 
 repository, but that's not something Review Board can sanely do for every 
 change.

 So, what we do instead is we build a URL, based off the mask provided, 
 that can give us the raw contents of a file, given a file path and a blob 
 SHA1.

 We need this so that we have a source file to apply a patch on top of. 
 Without that, we can't show a side-by-side diff.

 Some services provide such a URL. GitWeb, for instance, has one. GitLab 
 does not. For GitLab, we have to instead query their API to get the data we 
 need. That requires such things as API tokens and other IDs, which Review 
 Board has special code to deal with, but that only works when selecting 
 GitLab as a hosting service.

 Without either a selected (compatible) hosting service or a suitable Raw 
 File URL, we just have no ability to get the data needed in order to render 
 a change consistently.

 If you have such a URL but without the field for the SHA, and you're only 
 ever dealing with reviewing changes on top of the very latest revision in 
 the repository, it will work, but that's going to fail the very moment 
 someone puts something up for review that is based on an older commit (and 
 this will happen in real usage all the time), or on top of a commit in a 
 branch other than 'master'.

 Now, as for the analysis you've done, and the need for a third file, the 
 reason this is at all a problem is because you don't have the above setup, 
 so you're having to play games with your repository in a way that just 
 doesn't work.

 If you did have such a setup, what you'd do is generate a diff between the 
 latest upstream commit and the commit just before the one you want to post 
 for review. That diff may cover a whole number of commits, but it doesn't 
 matter. That's the parent diff. Once we fetch the proper source file from 
 the repository (using the hosting service or the raw file URL), we apply 
 the parent diff, and treat that as the base for the diff being reviewed. 
 Then, we apply the diff representing the commit(s) you want to actually 
 review.

 RBTools takes care of all this automatically, letting you just do:

 $ rbt post mysha

 Christian

 -- 
 Christian Hammond - chi...@chipx86.com javascript:
 Review Board - http://www.reviewboard.org
 Beanbag, Inc. - http://www.beanbaginc.com

 On Thu, Apr 23, 2015 at 4:16 PM, James Knight james.d...@live.com 
 javascript: wrote:

 Sorry, I don't understand.

 My root patch has an addressable hash from the repository. When I 
 initially showed the following diagram, the intent was to show that my 
 local and ReviewBoard-watched remote repository are in sync.

{ReviewBoard}
  /\
  ||
  \/
  {Local}  {Remote}
  
  Commit F  Commit F
 | |
  Commit E  Commit E

 If I then make a commit in my local repository, generate a patch, I can 
 submit it successfully to ReviewBoard since all file indexes are 
 addressable:

 /- (patch) -  {ReviewBoard}
/ /\
   /  ||
   |  \/
\ {Local}  {Remote}
 \  
  Commit 1
 |
  Commit F  Commit F
 | |
  Commit E  Commit E

 The patch changes to existing file indexes will all exist in Commit F 
 (which ReviewBoard can handle) and any new files will have a zeroed-file 
 index. If I introduce a new file in commit 1, I'll have an entry in my diff 
 as follows:

 diff --git a/newfile b/newfile
 new file mode 100644
 index 
 ..E0C9035898DD52FC65C41454CEC9C4D2611BFB37
 --- /dev/null
 +++ b/newfile

 Now, if I have a second commit which modifies the file 
 (E0C9035898DD52FC65C41454CEC9C4D2611BFB37) I've introduced in Commit 1, 
 ReviewBoard will not accept the patch since it cannot find the 
 E0C9035898DD52FC65C41454CEC9C4D2611BFB37 object.

 /- (patch) -  {ReviewBoard}-- Will fail.
/ /\
   /  ||
   |  \/
\ {Local}  {Remote}
 \  
  Commit 2
 |
  Commit 1
 |
  Commit F  Commit F
 | |
  Commit E  Commit E

 Luckily, ReviewBoard supports uploading parent DIFF's so I can bridge the 
 gap. By uploading my Commit 2 DIFF with a parent Commit 1 DIFF, ReviewBoard 
 accepts the patch with no issues. I assume that this is