Skip to content

Commit a6c9733

Browse files
harisbalharisbal
authored and
harisbal
committed
Allow for join between two multi-index dataframe instances
1 parent c857b4f commit a6c9733

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+2655
-927
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ dist
6161
.coverage
6262
coverage.xml
6363
coverage_html_report
64+
*.pytest_cache
6465

6566
# OS generated files #
6667
######################
@@ -90,7 +91,6 @@ scikits
9091

9192
# Unit / Performance Testing #
9293
##############################
93-
.pytest_cache/
9494
asv_bench/env/
9595
asv_bench/html/
9696
asv_bench/results/

doc/cheatsheet/Pandas_Cheat_Sheet.pdf

160 KB
Binary file not shown.
-71.3 KB
Binary file not shown.

doc/source/contributing.rst

+48-38
Original file line numberDiff line numberDiff line change
@@ -246,16 +246,16 @@ changes in this branch specific to one bug or feature so it is clear
246246
what the branch brings to *pandas*. You can have many shiny-new-features
247247
and switch in between them using the git checkout command.
248248

249-
To update this branch, you need to retrieve the changes from the master branch::
249+
When creating this branch, make sure your master branch is up to date with
250+
the latest upstream master version. To update your local master branch, you
251+
can do::
250252

251-
git fetch upstream
252-
git rebase upstream/master
253+
git checkout master
254+
git pull upstream master --ff-only
253255

254-
This will replay your commits on top of the latest pandas git master. If this
255-
leads to merge conflicts, you must resolve these before submitting your pull
256-
request. If you have uncommitted changes, you will need to ``stash`` them prior
257-
to updating. This will effectively store your changes and they can be reapplied
258-
after updating.
256+
When you want to update the feature branch with changes in master after
257+
you created the branch, check the section on
258+
:ref:`updating a PR <contributing.update-pr>`.
259259

260260
.. _contributing.documentation:
261261

@@ -964,32 +964,6 @@ Now you can commit your changes in your local repository::
964964
965965
git commit -m
966966
967-
Combining commits
968-
-----------------
969-
970-
If you have multiple commits, you may want to combine them into one commit, often
971-
referred to as "squashing" or "rebasing". This is a common request by package maintainers
972-
when submitting a pull request as it maintains a more compact commit history. To rebase
973-
your commits::
974-
975-
git rebase -i HEAD~#
976-
977-
Where # is the number of commits you want to combine. Then you can pick the relevant
978-
commit message and discard others.
979-
980-
To squash to the master branch do::
981-
982-
git rebase -i master
983-
984-
Use the ``s`` option on a commit to ``squash``, meaning to keep the commit messages,
985-
or ``f`` to ``fixup``, meaning to merge the commit messages.
986-
987-
Then you will need to push the branch (see below) forcefully to replace the current
988-
commits with the new ones::
989-
990-
git push origin shiny-new-feature -f
991-
992-
993967
Pushing your changes
994968
--------------------
995969
@@ -1045,15 +1019,51 @@ release. To submit a pull request:
10451019
#. Click ``Send Pull Request``.
10461020
10471021
This request then goes to the repository maintainers, and they will review
1048-
the code. If you need to make more changes, you can make them in
1049-
your branch, push them to GitHub, and the pull request will be automatically
1050-
updated. Pushing them to GitHub again is done by::
1022+
the code.
1023+
1024+
.. _contributing.update-pr:
10511025
1052-
git push -f origin shiny-new-feature
1026+
Updating your pull request
1027+
--------------------------
1028+
1029+
Based on the review you get on your pull request, you will probably need to make
1030+
some changes to the code. In that case, you can make them in your branch,
1031+
add a new commit to that branch, push it to GitHub, and the pull request will be
1032+
automatically updated. Pushing them to GitHub again is done by::
1033+
1034+
git push origin shiny-new-feature
10531035
10541036
This will automatically update your pull request with the latest code and restart the
10551037
:ref:`Continuous Integration <contributing.ci>` tests.
10561038
1039+
Another reason you might need to update your pull request is to solve conflicts
1040+
with changes that have been merged into the master branch since you opened your
1041+
pull request.
1042+
1043+
To do this, you need to "merge upstream master" in your branch::
1044+
1045+
git checkout shiny-new-feature
1046+
git fetch upstream
1047+
git merge upstream/master
1048+
1049+
If there are no conflicts (or they could be fixed automatically), a file with a
1050+
default commit message will open, and you can simply save and quit this file.
1051+
1052+
If there are merge conflicts, you need to solve those conflicts. See for
1053+
example at https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/
1054+
for an explanation on how to do this.
1055+
Once the conflicts are merged and the files where the conflicts were solved are
1056+
added, you can run ``git commit`` to save those fixes.
1057+
1058+
If you have uncommitted changes at the moment you want to update the branch with
1059+
master, you will need to ``stash`` them prior to updating (see the
1060+
`stash docs <https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning>`__).
1061+
This will effectively store your changes and they can be reapplied after updating.
1062+
1063+
After the feature branch has been update locally, you can now update your pull
1064+
request by pushing to the branch on GitHub::
1065+
1066+
git push origin shiny-new-feature
10571067
10581068
Delete your merged branch (optional)
10591069
------------------------------------

0 commit comments

Comments
 (0)