1461105610-dbf5d1d8-034c-4d66-8bf1-600ad3a96c13

1. A method for managing components, comprising:
receiving, using a processor interacting with a first integrated development environment (IDE) client, a first request from the first IDE client to save a first component developed by a first user for an enterprise application;
saving, using the processor interacting with a repository, the first component in a first user workspace in the repository, wherein the first user workspace is associated with the first user;
receiving, using the processor interacting with the first IDE client, a second request from the first IDE client to check in the first component;
determining, using the processor interacting with the repository, a first function based on the second request, wherein the first function is defined by a version control system (VCS) application programming interface (API) that allows interaction with multiple third-party VCSs; and
invoking, using the processor interacting with the repository, the first function,
wherein, in response to invoking the first function, a first implementation of the VCS API for a first third-party VCS invokes a second function defined by the first third-party VCS for checking the first component into the first third-party VCS,
wherein checking the first component into the first third-party VCS comprises saving the first component into the first third-party VCS, and
wherein the repository and the first third-party VCS are distinct.
2. The method of claim 1, further comprising:
receiving, using the processor interacting with the first IDE client, a third request from the first IDE client to access the first component;
determining, using the processor interacting with the repository, a third function based on the third request to access the first component, wherein the third function is defined by the VCS API; and
invoking, using the processor interacting with the repository, the third function,
wherein, in response to invoking the third function, the first implementation of the VCS API for the first third-party VCS invokes a fourth function defined by the first third-party VCS for checking the first component out of the first third-party VCS.
3. The method of claim 2, wherein the first component is a definition file.
4. The method of claim 2, wherein the first component is an executable file.
5. The method of claim 2, further comprising:
receiving, using the processor interacting with the first IDE client, a fourth request from the first IDE client to save a second component developed for the enterprise application;
determining, using the processor interacting with the repository, the first function based on the fourth request to save the second component;
invoking, using the processor interacting with the repository, the first function, wherein, in response to invoking the first function, a second implementation of the VCS API for a second third-party VCS invokes a fifth function defined by the second third-party VCS for checking the second component into the second third-party VCS, wherein checking the second component into the second third-party VCS comprises saving the second component into the second third-party VCS, and wherein the repository and the second third-party VCS are distinct;
receiving, using the processor interacting with the first IDE client, a fifth request from the first IDE client to access the second component;
determining, using the processor interacting with the repository, the third function based on the fifth request to access the second component; and
invoking, using the processor interacting with the repository, the third function, wherein, in response to invoking the third function, the second implementation of the VCS API for the second third-party VCS invokes a sixth function defined by the second third-party VCS for checking the second component out of the second third-party VCS.
6. The method of claim 1, further comprising:
receiving, using the processor interacting with the first IDE client, a third request from the first IDE client to retrieve the first component for the first user;
retrieving, using the processor interacting with the repository, the first component from the first user workspace, wherein the first user, using the processor interacting with the first IDE client, modifies the first component; and
receiving, using the processor interacting with the first IDE client, a fourth request from the first IDE client to resave the first component in the first user workspace.
7. The method of claim 1, further comprising:
receiving, using the processor interacting with a second IDE client, a third request from the second IDE client to retrieve the first component for a second user;
retrieving, using the processor interacting with the repository, the first component from the first user workspace, wherein the second user, using the processor interacting with the second IDE client, modifies the first component; and
receiving, using the processor interacting with the second IDE client, a fourth request from the second IDE client to resave the first component in the first user workspace.
8. A machine-readable medium, comprising one or more sets of instructions which, when executed by one or more processors, cause the one or more processors to perform the operations of:
receiving, using a processor interacting with an integrated development environment (IDE) client, a first request from the IDE client to save a first component developed by a user for an enterprise application;
saving, using the processor interacting with a repository, the first component in a user workspace in the repository, wherein the user workspace is associated with the user;
receiving, using the processor interacting with the IDE client, a second request from the IDE client to check in the first component;
determining, using the processor interacting with the repository, a first function based on the second request, wherein the first function is defined by a version control system (VCS) application programming interface (API) that allows interaction with multiple third-party VCSs; and
invoking, using the processor interacting with the repository, the first function,
wherein, in response to invoking the first function, a first implementation of the VCS API for a first third-party VCS invokes a second function defined by the first third-party VCS for checking the first component into the first third-party VCS,
wherein checking the first component into the first third-party VCS comprises saving the first component into the first third-party VCS, and
wherein the repository and the first third-party VCS are distinct.
9. The machine-readable medium of claim 8, further comprising:
receiving, using the processor interacting with the IDE client, a third request from the IDE client to access the first component;
determining, using the processor interacting with the repository, a third function based on the third request to access the first component, wherein the third function is defined by the VCS API; and
invoking, using the processor interacting with the repository, the third function,
wherein, in response to invoking the third function, the first implementation of the VCS API for the first third-party VCS invokes a fourth function defined by the first third-party VCS for checking the first component out of the first third-party VCS.
10. The machine-readable medium of claim 9, wherein the first component is a definition file.
11. The machine-readable medium of claim 9, wherein the first component is an executable file.
12. The machine-readable medium of claim 9, further comprising:
receiving, using the processor interacting with the IDE client, a fourth request from the IDE client to save a second component developed for the enterprise application;
determining, using the processor interacting with the repository, the first function based on the fourth request to save the second component;
invoking, using the processor interacting with the repository, the first function, wherein, in response to invoking the first function, a second implementation of the VCS API for a second third-party VCS invokes a fifth function defined by the second third-party VCS for checking the second component into the second third-party VCS, wherein checking the second component into the second third-party VCS comprises saving the second component into the second third-party VCS, and wherein the repository and the second third-party VCS are distinct;
receiving, using the processor interacting with the IDE client, a fifth request from the IDE client to access the second component;
determining, using the processor interacting with the repository, the third function based on the fifth request to access the second component; and
invoking, using the processor interacting with the repository, the third function, wherein, in response to invoking the third function, the second implementation of the VCS API for the second third-party VCS invokes a sixth function defined by the second third-party VCS for checking the second component out of the second third-party VCS.
13. A system for managing components, comprising:
a processor;
a storage device configured to store a component; and
a memory coupled to the processor, wherein the memory comprises executable instructions to:
receive, from an integrated development environment (IDE) client interacting with the processor, a first request to save a first component developed by a user for an enterprise application;
save the first component in a first user workspace associated with the first user;
receive, from the first IDE client, a second request to check in the first component;
determine a first function based on the second request to check in the first component, wherein the first function is defined by a version control system (VCS) application programming interface (API) that allows interaction with multiple third-party VCSs; and
invoke the first function,
wherein, in response to invoking the first function, a first implementation of the VCS API for a first third-party VCS invokes a second function defined by the first third-party VCS for checking the first component into the first third-party VCS,
wherein checking the first component into the first third-party VCS comprises saving the first component into the first third-party VCS, and
wherein the repository and the first third-party VCS are distinct.
14. The system of claim 13, wherein the memory further comprises executable instructions to:
receive, from the IDE client, a third request to access the first component;
determine a third function based on the third request to access the first component, wherein the third function is defined by the VCS API; and
invoke the third function,
wherein, in response to invoking the third function, the first implementation of the VCS API for the first third-party VCS invokes a fourth function defined by the first third-party VCS for checking the first component out of the first third-party VCS.
15. The system of claim 14, wherein the memory further comprises executable instructions to:
receive, from the IDE client, a fourth request to save a second component developed for the enterprise application;
determine the first function based on the fourth request to save the second component;
invoke the first function, wherein, in response to invoking the first function, a second implementation of the VCS API for a second third-party VCS invokes a fifth function defined by the second third-party VCS for checking the second component into the second third-party VCS, wherein checking the second component into the second third-party VCS comprises saving the second component into the second third-party VCS, and wherein the repository and the second third-party VCS are distinct;
receive, from the IDE client, a fifth request to access the second component;
determine the third function based on the fifth request to access the second component; and
invoke the third function, wherein, in response to invoking the third function, the second implementation of the VCS API for the second third-party VCS invokes a sixth function defined by the second third-party VCS for checking the second component out of the second third-party VCS.
16. The system of claim 13, wherein the first component is a definition file.
17. The system of claim 13, wherein the first component is an executable file.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A pencil comprising a longitudinal axis (16) and a gripping recess (14) having an inside contour, wherein the inside contour of the gripping recess in a first sectional plane transversely to the longitudinal axis has at least one concave portion, and wherein the inside contour of the gripping recess in a second sectional plane intersecting the first sectional plane at the longitudinal axis has at least one convex portion.
2. A pencil as set forth in claim 1, wherein the second sectional plane is perpendicular to the first sectional plane.
3. A pencil as set forth in claim 1 or claim 2, wherein the first sectional plane includes with the longitudinal axis an angle \u03b1 where 25\xb0\u2266\u03b1\u226635\xb0.
4. A pencil as set forth in claim 1 or claim 2, wherein the first sectional plane includes with the longitudinal axis an angle \u03b1 where 27\xb0\u2266\u03b1\u226633\xb0.
5. A pencil as set forth in claim 1 or claim 2, wherein the first sectional plane includes with the longitudinal axis an angle \u03b1 where 29\xb0\u2266\u03b1\u226631\xb0.
6. A pencil as set forth in claim 2, wherein the convex portion is at least portion-wise of an arcuate configuration in the form of a circular arc.
7. A pencil as set forth in claim 2, wherein the inside contour of the gripping recess (14) has a convex portion in a sectional plane that is perpendicular to the longitudinal axis (16).