------------------------------------------------------------------------------ To reply, visit https://hellosplat.com/s/beanbag/tickets/4556/ ------------------------------------------------------------------------------
New ticket #4556 by totoroliu For Beanbag, Inc. > RBTools Status: New Tags: Priority:Medium, Type:Defect ------------------------------------------------------------------------------ rbt diff produces incorrect patch.diff format which caused rbt patch (svn patch) incorrectly delete files ============================================================================== # What version are you running? RBTools 0.7.10 svn, version 1.9.3 (r1718519) diff (GNU diffutils) 3.3 Ubuntu 16.04.2 LTS # What steps will reproduce the problem? 1. Run "svn merge" to have "svn status" with "R + FileA" (aka replace with History scheduled with commit.) 2. rbt diff --svn-show-copies-as-adds=y --include FileA 3. svn diff FileA 4. rbt patch or svn patch would result FileA been deleted # What is the expected output? What do you see instead? "rbt diff" should be in similar format as "svn diff". "svn diff" has single diff header (Index:) for FileA. "rbt diff" has TWO diff headers (Index:) for FileA. With the TWO diff headers, the first header is deleting the file at current branch; the second header is adding the file back from the merge source. However, rbt patch (svn patch) is failed to add the file back, and results the file been deleted. # What operating system are you using? Ubuntu 16.04.2 LTS # Attach the debug out from the command. ``` $ svn st apache2/include/cache_common.h R + apache2/include/cache_common.h $ svn diff apache2/include/cache_common.h Index: apache2/include/cache_common.h =================================================================== --- apache2/include/cache_common.h (revision 99047) +++ apache2/include/cache_common.h (working copy) Property changes on: apache2/include/cache_common.h ___________________________________________________________________ Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property $ rbt diff --svn-show-copies-as-adds=y --include apache2/include/cache_common.h --debug >>> RBTools 0.7.10 >>> Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] >>> Running on Linux-4.4.0-78-generic-x86_64-with-Ubuntu-16.04-xenial >>> Home = /home/rickliu >>> Current directory = /tmp/server >>> Command line: rbt diff --svn-show-copies-as-adds=y --include >>> apache2/include/cache_common.h --debug >>> Running: tf vc help >>> Checking for a Subversion repository... >>> Running: svn --non-interactive info >>> Running: diff --version >>> Running: svn --non-interactive --version -q >>> repository info: Path: http://xxxx/svn/, Base path: /server, Supports >>> changesets: False >>> Making HTTP GET request to http://reviewboard.xxxx.com/api/ >>> Running: svn --non-interactive info >>> Running: diff --version >>> Running: svn --non-interactive --version -q >>> repository info: Path: http://xxxx/svn/, Base path: /server, Supports >>> changesets: False >>> Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry -r >>> BASE apache2/include/cache_common.h --show-copies-as-adds >>> Running: svn --non-interactive info apache2/include/cache_common.h >>> Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry -r >>> BASE apache2/include/cache_common.h --show-copies-as-adds --no-diff-deleted >>> Running: svn --non-interactive info apache2/include/cache_common.h >>> Running: svn --non-interactive info apache2/include/cache_common.h >>> Running: svn --non-interactive info apache2/include/cache_common.h >>> Running: svn --non-interactive info apache2/include/cache_common.h >>> Running: svn --non-interactive info apache2/include/cache_common.h Index: /server/apache2/include/cache_common.h =================================================================== --- /server/apache2/include/cache_common.h (revision 99047) +++ /server/apache2/include/cache_common.h (nonexistent) @@ -1,56 +0,0 @@ -/* Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @file cache_common.h - * @brief Common Cache structs - * - * @defgroup Cache_cache Cache Functions - * @ingroup MOD_CACHE - * @{ - */ - -#ifndef CACHE_COMMON_H -#define CACHE_COMMON_H - -/* a cache control header breakdown */ -typedef struct cache_control { - unsigned int parsed:1; - unsigned int cache_control:1; - unsigned int pragma:1; - unsigned int no_cache:1; - unsigned int no_cache_header:1; /* no cache by header match */ - unsigned int no_store:1; - unsigned int max_age:1; - unsigned int max_stale:1; - unsigned int min_fresh:1; - unsigned int no_transform:1; - unsigned int only_if_cached:1; - unsigned int public:1; - unsigned int private:1; - unsigned int private_header:1; /* private by header match */ - unsigned int must_revalidate:1; - unsigned int proxy_revalidate:1; - unsigned int s_maxage:1; - unsigned int invalidated:1; /* has this entity been invalidated? */ - apr_int64_t max_age_value; /* if positive, then set */ - apr_int64_t max_stale_value; /* if positive, then set */ - apr_int64_t min_fresh_value; /* if positive, then set */ - apr_int64_t s_maxage_value; /* if positive, then set */ -} cache_control_t; - -#endif /* CACHE_COMMON_H */ -/** @} */ Property changes on: apache2/include/cache_common.h ___________________________________________________________________ Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Index: /server/apache2/include/cache_common.h =================================================================== --- /branches/5.x/server/apache2/include/cache_common.h (nonexistent) +++ /server/apache2/include/cache_common.h (working copy) @@ -0,0 +1,56 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file cache_common.h + * @brief Common Cache structs + * + * @defgroup Cache_cache Cache Functions + * @ingroup MOD_CACHE + * @{ + */ + +#ifndef CACHE_COMMON_H +#define CACHE_COMMON_H + +/* a cache control header breakdown */ +typedef struct cache_control { + unsigned int parsed:1; + unsigned int cache_control:1; + unsigned int pragma:1; + unsigned int no_cache:1; + unsigned int no_cache_header:1; /* no cache by header match */ + unsigned int no_store:1; + unsigned int max_age:1; + unsigned int max_stale:1; + unsigned int min_fresh:1; + unsigned int no_transform:1; + unsigned int only_if_cached:1; + unsigned int public:1; + unsigned int private:1; + unsigned int private_header:1; /* private by header match */ + unsigned int must_revalidate:1; + unsigned int proxy_revalidate:1; + unsigned int s_maxage:1; + unsigned int invalidated:1; /* has this entity been invalidated? */ + apr_int64_t max_age_value; /* if positive, then set */ + apr_int64_t max_stale_value; /* if positive, then set */ + apr_int64_t min_fresh_value; /* if positive, then set */ + apr_int64_t s_maxage_value; /* if positive, then set */ +} cache_control_t; + +#endif /* CACHE_COMMON_H */ +/** @} */ Property changes on: apache2/include/cache_common.h ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property ``` # Please provide any additional information below. ------------------------------------------------------------------------------ -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/reviewboard-issues. For more options, visit https://groups.google.com/d/optout.
